Linux hổ trợ môi trường big data

Linux hổ trợ môi trường big data

Đã đăng vào thg 10 25, 2016 6:50 SA 5 phút đọc

1. Big data là gì?

Với sự phát triển không ngừng của mang xã hội, sự ra đời của các thiết bị mới tiên tiến, mọi hoạt động thường ngày đang dần được internet hóa. Dẫn đến lượng thông tin ngày càng đa dạng đã đặt ra thách thức cho các nền công nghiệp khác nhau phải tìm một phương pháp khác để xử lý dữ liệu. Big Data có thể hiểu là “Dữ liệu lớn” – sở dĩ có tên gọi là Big data không đơn giản đó nói về khối lượng dữ liệu, còn có 2 yếu tố khác là tốc độ dữ liệu và tính đa dạng của dữ liệu.

Linux hổ trợ môi trường big data

Những nguồn thông tin chính tạo ra Big data:

  • Dữ liệu từ các kênh truyền thông xã hội: Facebook, Instagram, Twiter..
  • Dữ liệu giao dịch chứng khoán
  • Dữ liệu điện lực
  • Dữ liệu giao thông
  • Các dữ liệu tìm kiếm

Giải pháp nào cho Big data?

  • Big Data lớn về số lượng, dữ liệu phức tạp có thể có cấu trúc hoặc không có cấu trúc (noSQL). Những yếu tố này làm cho Big Data khó bắt giữ lại, khai phá và quản lý nếu dùng các phương thức truyền thống.

Ví dụ bạn có một con server, với lượng data khổng lồ, bạn chỉ có thể nghĩ đến phương án tăng RAM, tăng CPU. Nhưng số lượng đó cũng có giới hạn. Vậy thì phải làm sao?

Hadoop ra đời để giải quyết vấn đề đó

Linux hổ trợ môi trường big data

2. Hadoop là gì?

Năm 2005, Hadoop được tạo ra bởi Doug Cutting và Mike Cafarella khi làm việc tại Yahoo. Doug Cutting đặt tên Hadoop theo con voi đồ chơi của con trai mình

  • Là Framework cho phép phát triển các ứng dụng phân tán.
  • Hadoop hiện thực mô hình MapReduce, mô hình mà ứng dụng sẽ được chia nhỏ ra thành nhiều phân đoạn khác nhau được chạy song song trên nhiều node khác nhau
  • Viết bằng Java tuy nhiên hỗ trợ được các ngôn ngữ khác như C++, Python, Perl bằng cơ chế streaming.
  • Là một ứng dụng Linux-based (chỉ chạy trên môi trường Linux).

3. Vấn đề mà Hadoop giải quyết

  • Làm việc với khối lượng dữ liệu khổng lồ (tính bằng Petabyte).
  • Xử lý trong môi trường phân tán, dữ liệu lưu trữ ở nhiều phần cứng khác nhau, yêu cầu xử lý đồng bộ
  • Các lỗi xuất hiện thường xuyên.
  • Băng thông giữa các phần cứng vật lý chứa dữ liệu phân tán có giới hạn.

4. Hướng giải quyết của Hadoop

Linux hổ trợ môi trường big data

  • Quản lý file phân tán: Hadoop Distributed File System (HDFS) sẽ chia nhỏ dữ liệu ra thành nhiều phần. Dữ liệu được quản lý một cách có hệ thống.

Linux hổ trợ môi trường big data

  • MapReduce là mô hình tổ chức của Hadoop, MapReduce sẽ chia nhỏ task ra thành nhiều phần và xử lý song song trên các Node CPU khác nhau, máy chủ là Master Node

5. Các điểm thuận lợi khi dùng Hadoop

  • Robus and Scalable – Có thể thêm node mới và thay đổi chúng khi cần.
  • Affordable and Cost Effective – Không cần phần cứng đặc biệt để chạy Hadoop.
  • Adaptive and Flexible – Hadoop được xây dựng với tiêu chí xử lý dữ liệu có cấu trúc và không cấu trúc.
  • Highly Available and Fault Tolerant – Khi 1 node lỗi, nền tảng Hadoop tự động chuyển sang node khác.
  • Một điểm cộng khác cho Hadoop nó là mã nguồn mở, có thể tương thích với tất cả platforms

Tóm lại, Big Data đã và đang được nghiên cứu và ứng dụng rộng rãi trong nhiều lĩnh vực, từ các ông lớn trong lĩnh vực công nghệ như Google, Facebook, Twitter... cũng như các công ty trong nước và ngoài nước. Big Data là thách thức đặt ra cho các tổ chức, doanh nghiệp trong thời đại số hiện nay. Một khi làm chủ được dữ liệu lớn thì họ sẽ có cơ hội thành công lớn hơn trong bối cảnh cạnh tranh ngày nay, thế giới thì sẽ được hưởng lợi hơn từ việc trích xuất thông tin một cách chính xác hơn, hữu ích hơn với chi phí thấp hơn. Trong tương lai, chúng ta sẽ còn tiếp tục chứng kiến sự tăng trưởng của Big Data.

Tham khảo: https://www.tutorialspoint.com/hadoop/

All rights reserved

Trong bài viết trước, chúng ta đã tìm hiểu big data là gì? Tầm quan trọng và cần phải chuẩn bị những kiến thức gì trước khi bắt đầu học big data. Hiểu đơn giản, Big data là dữ liệu quá lớn và phức tạp mà không thể quản lý và xử lý bằng các công cụ truyền thống như MySQL, SQL server.v.v… Big data yêu cầu một bộ công cụ và kỹ thuật đặc biệt để xử lý đống dữ liệu khổng lồ đó.

Có một số công cụ khá nổi tiếng ngoài thị trường như Hadoop (hỗ trợ lưu trữ và xử lý big data), Spark (giúp tính toán dữ liệu ngay trong bộ nhớ), Storm, MongoDB… Mỗi công cụ lại có tác dụng và chức năng khác nhau để hỗ trợ phân tích big data.

Trong mỗi lĩnh vực đều có một yếu tố quan trọng nhất giúp bạn dễ dàng làm chủ và tiến xa hơn. Với lĩnh vực big data, câu trả lời là: Bạn cần có một bộ công cụ big data tốt.

Một công cụ tốt giúp cải thiện cách bạn làm việc. Một công cụ tuyệt vời giúp cải thiện cách bạn nghĩ.Jeff Duntemann, Co-Founder của Coriolis

Phân tích và xử lý big data không phải là một nhiệm vụ dễ dàng. Ngay như trong cái tên của nó, big data tức là dữ liệu lớn, tất nhiên để làm việc và giải quyết nó cũng là một vấn đề lớn. Bạn cần phải có một bộ công cụ tuyệt vời không chỉ giải quyết vấn đề mà còn giúp bạn tạo ra những kết quả có ích.

Bài viết này sẽ cung cấp cho bạn những công cụ tuyệt vời, giúp bạn làm việc hiệu quả hơn với big data.

Nội dung chính của bài viết

  • Danh sách công cụ phân tích dữ liệu big data tốt nhất
    • 1. Apache Hadoop
    • 2. Cassandra
    • 3. Datawrapper
    • 4. MongoDB
    • 5. RapidMiner
    • Thay lời kết

Dưới đây là danh sách 5 công cụ big data tốt nhất:

  • Apache Hadoop
  • Datawrapper
  • Apache Cassandra
  • MongoDB
  • RapidMiner

Big data là một phần không thể thiếu của mọi công ty, tổ chức hiện nay. Các công ty như Google, Facebook, Apple… luôn sử dụng big data là công cụ hữu hiệu để training AI, phân tích xu hướng thị thường để dự đoán xu hướng, thiết kế sản phẩm…

Có một số yếu tố mà bạn cần phải lưu tâm khi lựa chọn công cụ. Đó là kích thước big data, chi phí mua công cụ, loại phân tích mà bạn muốn.v.v…

Ngay nay, với tốc độ tăng trường cấp số nhân của big data, thị trường cũng tràn ngập các thể loại công cụ big data, đủ loại “thượng vàng hạ cám”. Do đó, để giúp bạn không bị choáng ngợt và tối ưu hóa chi phí và hiệu quả công việc. Chúng ta sẽ cùng nhau xem danh sách 10 công cụ big data tốt nhất dưới đây.

1. Apache Hadoop

Đứng đầu trong danh sách này không ai khác, chính là Hadoop. Apache Hadoop là một trong những công cụ được sử dụng phổ biến nhất trong lĩnh vực big data. Hadoop là một open-source framework từ Apache. Hadoop được dùng để lưu trữ và phân tích các tập dữ liệu lớn.

Hadoop được viết bằng Java ứng dụng công nghệ MapReduce. Hiểu nôm na là công nghệ phân tán dữ liệu do Google phát triển. Tức là từ dữ liệu lớn, chúng sẽ được tách ra thành nhiều dữ liệu nhỏ hơn và sắp xếp chúng lại để dễ dang truy xuất hơn. Bạn có thể hình dung rõ nét qua các kết quả tìm kiếm của Google. Bạn thử tìm kiếm với một từ khóa nào đó nhưng ở nhiều khu vực khác nhau: Google.com. Google.com.vn, Google.in… chắc chắn kết quả tìm kiếm sẽ khác nhau đôi chút.

Hadoop sử dụng kiến trúc clustered. Một Cluster là một nhóm các hệ thống được kết nối qua LAN. Hadoop cho phép xử lý dữ liệu song song vì nó hoạt động đồng thời trên nhiều máy.

Hadoop gồm 3 layer chính:

  • Hadoop Distributed File System (HDFS): hệ thống file phân tán cung cấp truy cập thông lượng cao cho ứng dụng khai thác dữ liệu.
  • Map-Reduce: Đây là hệ thống dựa trên YARN dùng để xử lý song song các tập dữ liệu lớn. YARN: layer quản lý tiến trình và tài nguyên của các cluster.

Để dễ hình dung hơn cơ chế và kiến trúc của Hadoop, mời bạn tham khảo hình bên dưới đây:

Linux hổ trợ môi trường big data

Chức năng chính của Hadoop:

  • Lưu trữ và xử lý những dữ liệu lớn, lên tới Petabyte (khoảng 1 triệu GB).
  • Xử lý trong môi trường phân tán, dữ liệu được lưu ở nhiều nơi khác nhau nhưng yêu cầu xử lý đồng bộ.

2. Cassandra

Apache Cassandra là hệ quản trị cơ sở liệu NoSQL phân tán mã nguồn mở. Công cụ được xây dựng để quản lý khối lượng dữ liệu khổng lồ trải rộng trên nhiều máy chủ, đảm bảo tính sẵn sàng cao.

Linux hổ trợ môi trường big data

Cassandra sử dụng CQL (Cassandra Structure Language) để tương tác với cơ sở dữ liệu.

Một số công ty sử dụng Cassandra như: Accenture, American Express, Facebook, General Electric, Honeywell, Yahoo,.v.v…

Ưu điểm của Cassandra:

  • Tốc độ xử lý rất nhanh
  • Lưu log có kiến trúc giúp việc debug, phát hiện lỗi tốt hơn
  • Khả năng mở rộng tự động
  • Mở rộng hệ thống theo tuyến tính.

Nhược điểm:

  • Yêu cầu trình độ nhất định để khắc phục khi có vấn đề phát sinh
  • Thiếu tính năng Row-level locking
  • Clustering còn chưa hiệu quả, cần cải thiện để có hiệu quả hơn

3. Datawrapper

Datawrapper là một platform mã nguồn mở có chức năng chính là trực quan hóa dữ liệu, hỗ trợ người dùng tạo các biểu đồ đơn giản, chính xác, thân thiện và có thể nhúng vào website dễ dàng.

Linux hổ trợ môi trường big data
Chức năng chính của Datawrapper

Các công ty sử dụng phần mềm này chủ yếu là các tòa soạn báo, có thể kể một số tên tuổi đình đám như: The Times, Fortune, Mother Jones, Bloomberg, Twitter,.v.v…

Ưu điểm:

  • Thân thiện với mọi loại thiết bị, kể cả thiết bị di động, máy tính để bàn…
  • Fully responsive
  • Tốc độ cho kết quả nhanh
  • Nhiều tùy chọn để tùy biến
  • Không yêu cầu người dùng phải biết lập trình

Nhược điểm:

  • Bảng màu còn hạn chế
  • Mất phí

4. MongoDB

MongoDB là một  NoSQL, một kiểu hệ quản trị cơ sở dữ liệu hướng document, được viết bằng C/C++ và Javascript. MongoDB được cung cấp miễn phí và là một công cụ mã nguồn mở hỗ trợ đa nền tảng gồm: Window, Linux…

Đây là công cụ quản trị cơ sở dữ liệu phổ biến nhất cho big data, vì nó hỗ trợ rất tốt cho việc quản lý dữ liệu không có cấu trúc hay loại dữ liệu thay đổi thường xuyên.

MongoDB sử dụng dynamic schemas, do đó, bạn có thể chuẩn bị và tạo dữ liệu một cách nhanh chóng, không cần phải thiết kế cấu trúc trước cho dữ liệu, thích thì thêm vào DB thôi.

Chức năng chính của MongoDB gồm có: Aggregation, Adhoc-queries, Uses BSON format, Sharding, Indexing, Replication, Server-side execution of javascript, Schemaless, Capped collection, MongoDB management service (MMS)…

Các công ty sử dụng MongoDB gồm có: Facebook, eBay, MetLife, Google,v.v…

Ưu điểm:

  • Học và tiếp cận rất dễ
  • Hỗ trợ nhiều công nghệ và nền tảng khác nhau
  • Dễ cài đặt và bảo trì
  • Đáng tin cậy và chi phí thấp

Nhược điểm:

  • Số liệu phân tích còn hạn chế
  • Một số trường hợp báo cáo tốc độ ứng dụng chậm đi khi sử dụng MongoDB

5. RapidMiner

Rapidminer là một công cụ đa nền tảng cung cấp môi trường tích hợp cho khoa học dữ liệu, machine learning, và phân tích dự đoán số liệu. Rapidminer cung cấp nhiều loại giấy phép tùy vào từng loại quy mô công ty, quy mô dữ liệu.

Ngoài ra, Rapidminer cũng có một phiên bản miễn phí phục vụ cho mục đích học tập với giới hạn 1 CPU và 10,000 records.

Các công ty đang sử dụng RapidMiner: Hitachi, BMW, Samsung, Airbus…

Ưu điểm:

  • Open-source Java core
  • Có nhiều công cụ và thuật toán cao cấp phục vụ rất tốt nhu cầu phân tích dữ liệu big data.
  • Có GUI
  • Dễ dàng tích hợp các API hay cloud.
  • Dịch vụ chăm sóc khách hàng rất tốt

Nhược điểm

  • Các dịch vụ online cần cải thiện

Thay lời kết

Qua bài viết này, mình đã giới thiệu một số công cụ tốt nhất phục vụ cho nhu cầu lưu trữ và phân tích dữ liệu big data. Trong số các công cụ này, có công cụ miễn phí, có công cụ phải trả phí.

Tùy thuộc vào nhu cầu công việc, quy mô dữ liệu mà bạn lựa chọn công cụ big data phù hợp nhất.

Hi vọng các bạn sẽ ủng hộ các bài viết về Big data, hẹn gặp lại các bạn ở bài viết sau.

Nguồn tham khảo:

  • https://data-flair.training/blogs/top-big-data-tools/
  • https://www.softwaretestinghelp.com/big-data-tools/

Linux hổ trợ môi trường big data