Big Data #20 – Các tài nguyên tham khảo – Cách bắt đầu với Big Data?

Quay trở lại với câu hỏi ban đầu khi tìm hiểu big data.

“Tôi muốn học về big data. Tôi có thể học nó ở đâu?”

Đây thật sự là 1 câu hỏi lớn và có rất nhiều tài nguyên để tìm hiểu về big data và khó khăn thật sự là lựa chọn 1 tài nguyên để học. Do đó tôi liệt kê ra đây một số nguồn tài nguyên quan trọng có liên quan đến big data. (more…)

Big Data #19 – Cách trở thành nhà khoa học về dữ liệu (data scientist) và học về khoa học dữ liệu

Data Scientist (nhà khoa học dữ liệu) là 1 từ mới, mọi người dường như muốn trở thành data scientist. Duyệt qua 1 vài chủ đề chính liên quan đến data scientist. Trước hết chúng ta sẽ hiểu daa scientist là gì?

Trong thế giới mới của big data, tôi thấy nhiều người muốn trở thành data scientist và có nhiều người đã tuyên bố họ là data scientist.

Data scientist là gì?

Data scientists là các chuyên gia (expert) những người hiểu các khía cạnh khác nhau của kinh doanh và biết chiến lượt dữ liệu nào để đạt được mục tiêu kinh doanh. Họ có 1 nền tảng vững chắc các thuật toán dữ liệu khác nhau, mô hình và phương pháp thống kê. (more…)

Big Data #18 – Cơ bản về phân tích dữ liệu lớn (big data)

Khi bạn có nhiều dữ liệu xung quan, điều đầu tiên cần nghĩ đến là gì?

“Tất cả dữ liệu có nghĩa là gì?”

Chính xác – tôi cũng có cùng suy nghĩ như vậy. Tôi luôn muốn biết tất cả dữ liệu có nghĩa là gì. Hầu hết các dự án big data đều được xây dựng để truy xuất các thông minh khác nhau mà tất cả dữ liệu chứa đựng. Lấy ví dụ Facebook. Khi tôi nhìn danh sách bạn bè của Facebook, tôi luôn muốn hỏi nhiều câu hỏi như: (more…)

Big Data #17 – Tương tác với Hadoop – Sqoop là gì? – Zookeeper là gì?

Có 2 thành phần quan trọng nhất nên học khi học về tương tác với Hadoop – Sqoop và Zookper.

Sqoop là gì?

Hầu hết các công ty lưu dữ liệu trong RDBMS và các giải pháp kho dữ liệu khác. Họ cần 1 cách để di chuyển dữ liệu vào Hadoop để làm các xử lý khác nhau và trả kết quả trở về RDBMS từ Hadoop. Sự di chuyển dữ liệu có thể xảy ra trong thời gian thực (real time) hoặc tại nhiều thời điểm (interval) khác nhau. Chúng ta cần 1 công cụ giúp di chuyển dữ liệu từ SQL sang Hadoop và từ Hadoop sang SQL. Sqoop (SQL to Hadoop) là 1 công cụ như vậy, dùng trích xuất (extract) dữ liệu từ non-Hadoop và chuyển đổi (transform) chúng vào định dạng mà Hadoop có thể dùng và sau đó nạp (load) chúng vào HDFS. Cơ bản nó là công cụ ETL (Extracts, Transform và Load) từ SQL vào Hadoop. Điểm hay là nó trích xuất (extract) dữ liệu từ Hadoop và nạp (load) chúng vào Non-SQL (hoặc RDBMS). Cơ bản, Sqoop là 1 công cụ dòng lệnh làm SQL thành Hadoop và Hadoop thành SQL. Nó là 1 trình thông dịch dòng lệnh. Nó tạo MapReduce job đằng sau để import dữ liệu từ CSDL bên ngoài vào HDFS. Nó rất hiệu quả và dễ học. (more…)

Big Data #15 – Khai thác dữ liệu (data mining) với Hive – Hive là gì? – HiveSQL (HSQL) là gì?

Yahoo bắt đầu làm việc với PIG (sẽ nói sau) cho các triển khai ứng dụng của họ trên Hadoop. Mục tiêu của Yahoo để quản lý dữ liệu không cấu trúc. Tương tự, Facebook bắt đầu triển khai các giải pháp kho dữ liệu (warehouse) của họ trên Hadoop với HIVE. Lý do chọn dùng HIVE là bởi vì các giải pháp kho dữ liệu (warehouse) truyền thống rất đắt.

HIVE là gì?

hive

Hive là hạ tầng kho dữ liệu cho Hadoop. Nhiệm vụ chính là cung cấp sự tổng hợp dữ liệu, truy vấn và phân tích. Nó hỗ trợ phân tích các tập dữ liệu lớn được lưu trong HDFS của Hadoop cũng như trên Amazon S3. Điểm hay của HIVE là hỗ trợ truy xuất giống SQL đến dữ liệu có cấu trúc, được biết với tên HiveSQL (hoặc HQL) cũng như phân tích big data với MapReduce. Hive không được xây dựng để hồi đáp nhanh các câu truy vấn nhưng nó được xây dựng cho các ứng dụng khai thác dữ liệu (data mining). Các ứng dụng khai thác dữ liệu có thể mất nhiều phút đến nhiều giờ để phân tích dữ liệu và HIVE được dùng chủ yếu. (more…)

Big Data #14 – Các lọai CSDL hỗ trợ Big Data – Columnar, Graph và Spatial Databases

Columnar Databases

CSDL quan hệ là row store database hoặc row oriented database. Columnar databases là column oriented or column store database. Như đã nói về big data, chúng ta có các loại dữ liệu khác nhau và chúng ta cần lưu trữ trong database. Khi chúng ta có columnar database, nó rất dễ làm iđều này chỉ bằng cách thêm 1 cột mới vào columnar database. HBasae là 1 trong các columnar database phổ biến nhất. Nó dùng hệ thống tập tin Hadoop và MapReduce cho hệ thống lưu trữ dữ liệu lõi. Tuy nhiên, nhớ rằng đây không phải là sự lựa chọn tốt cho mọi ứng dụng. Điều này đặc biệt tốt cho các CSDL có khối lượng dữ liệu lớn (volume) được thu thập và xử lý. (more…)

Big Data #13 – Các loại CSDL hỗ trợ Big Data – Key-Value Pairs Databases và Document Databases

Các CSDL Key Value Pair

Các CSDL Key Value Pair cũng được biết như các CSDL KVP. Một key là 1 tên trường và thuộc tính, 1 định danh. Nội dung của trường là giá trị của nó, dữ liệu được định danh và lưu trữ.

Chúng là cài đặt đơn giản của khái niệm CSDL NoSQL. Chúng không có schema vì thế rất linh động. Các điểm bất lợi của các CSDL Key Value Pair (KVP) là chúng không theo các thuộc tính ACID (Atomicity, Consistency, Isolation, Durability). Ngoài ra, nó sẽ yêu cầu kiến trúc dữ liệu để lập kế hoạch cho vị trí dữ liệu, replication cũng như tính sẵn sàng cao. Trong CSDL KVP, dữ liệu được lưu dạng chuỗi.

Key Value
Name Pinal Dave
Color Blue
Twitter @pinaldave
Name Nupur Dave
Movie The Hero

Một số người mới dùng CSDL KVP khó quản lý toàn bộ CSDL. Không có schema cụ thể hoặc các quy tắc liên quan đến CSDL. Lựa chọn đúng CSDL KVP với các công cụ để quản lý dữ liệu và cung cấp kiểm soát tốt các khía cạnh kinh doanh khác nhau.

(more…)

Big Data #12 – Các loại CSDL hỗ trợ Big Data – RDBMS và NoSQL

Ví dụ thực tế

Thử nghĩ rằng, bạn đang dùng Facebook và bạn vừa mới cập nhật thông tin về mối quan hệ hiện tại. Một vài giây sau, cùng thông tin cũng được thấy trên timeline của người yêu cũng như 1 vày người bạn. Sau 1 lúc bạn sẽ thấy cùng thông tin cũng sẵn sàng với những người bạn khác. Một lá sau khi ai đó tìm tìm về mối quan hệ của những người bạn, mối quan hệ của bạn cũng sẽ xuất hiện trong số đó. Bây giờ là câu hỏi – bạn có nghĩ chỉ duy nhất kiến trúc big data thực hiện các thay đổi này? Bạn có nghĩ rằng sự thay đổi tức thì thông tin mối quan hệ với các thành viên khác bởi công nghệ được dùng là big data. Thực tế câu trả lời là Facebook dùng MySQL để tạo các cập nhật khác nhau trên timeline cũng như các sự kiện khác chúng ta làm trên trang chủ. Thật sự khó khăn để lấy từ CSDL hoạt động trong kinh doanh thực tế.

Bây giờ chúng ta xem 1 vài ví dụ về các CSDL hoạt động.

  • Relational Databases (bài viết này)
  • NoSQL Databases (bài viết này)
  • Key-Value Pair Databases (bài viết kế tiếp)
  • Document Databases (bài viết kế tiếp)
  • Columnar Databases (bài viết kế tiếp nữa)
  • Graph Databases (bài viết kế tiếp nữa)
  • Spatial Databases (bài viết kế tiếp nữa)

(more…)

Big Data #11 – Vai trò của điện toán đám mây trong Big Data

Cloud là gì?

Cloud là từ thông dụng nhất trong vài năm trở lại đây. Mọi người đều biết về cloud, nhưng trong bài nay chúng ta sẽ thảo luận cloud trong ngữ cảnh big data. Cloud computing là 1 phương pháp cung cấp các tài nguyên máy tính được chia sẽ cho các ứng dụng yêu cầu tài nguyên linh động. Các tài nguyên này gồm ứng dụng, tính toán, lưu trữ, mạng, phát triển, và các nền tảng triển khai khác. Nền tảng của cloud computing là nó chia sẽ tài nguyên và phân phối đến người dùng cuối như 1 dịch vụ.

Các ví dụ của cloud computing và big data là Google và Amazon.com. Cả hai đều cung cấp big data với sự trợ giúp của cloud.

Có 2 mô hình triển khai cloud khác nhau: 1) Public Cloud và 2) Private Cloud. (more…)