Đỉnh NGUYỄN

life's a journey not a destination


6 Comments

Big Data – Học những điều cơ bản về Big Data trong 21 ngày – bookmark


Big Data #1 – Bắt đầu Big Data

Big Data #2 – Big Data là gì? – So sánh Volume, Velocity và Variety

Big Data #3 – Sự tiến hóa của Big Data

Big Data #4 – Cơ bản về kiến trúc Big Data

Big Data #5 – NoSQL là gì?

Big Data #6 – Hadoop là gì?

Big Data #7 – MapReduce là gì?

Big Data #8 – HDFS là gì?

Big Data #9 – Tầm quan trọng của CSDL quan hệ trong Big Data

Big Data #10 – NewSQL là gì?

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

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

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

Big Data #14 – Các loại CSDL hỗ trợ Big Data – Columnar, Graph và Spatial Databases

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

Big Data #16 – Tương tác với Hadoop – PIG là gì? – PIG Latin là gì?

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

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

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

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

Big Data #21 – Tổng kết và định hướng tiếp theo

Advertisements


Leave a comment

Big Data #21 – Tổng kết và định hướng tiếp theo


Hành trình đến với big data:

  • Lên kế hoạch đọc các tài liệu của Apache
  • Xem các khóa học của Pluralsight
  • Tìm hiểu HortonWorks Sandbox
  • Bắt tay vào tạo các buổi seminar về Big Data
  • Viết bài về Big Data trên các trang blog.

(Theo http://blogSQLAuthority.com)


Leave a comment

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.

“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.

Học từ Pluralsight

Pluralsight là tổ chức dẫn đầu về đào tạo trực tuyến chất lượng cao cho các nhà phát triển. Nó có các khóa học về big data và tôi học về big data với sự trợ giúp của Pluralsight. Đây là 1 vài khóa học có liên quan trực tiếp đến big data.

Khuyến khích các bạn bắt đầu với khóa học video này vì đây là các nguyên tắc cơ bản để học big data.

Học từ Apache

Nguồn tài nguyên của Apache là điểm duy nhất các tài nguyên học tập được xác thực nhất. Nếu bạn muốn học nền tảng cơ bản và chuyên sâu về các khía cạnh của big data, tôi tin bạn phải hiểu các khái niệm khác nhau trong thư viện của Apache. Tôi rất ấn tượng với tài liệu hướng dẫn và cá nhân tôi tham khảo nó mỗi ngày khi làm việc với big data. Tôi rất khuyến khích bạn đánh dấu các liên kết sau đây để học về big data.

  • Hadoop – Dự án Apache Hadoop phát triển phần mềm nguồn mở cho tính toán phân tán đáng tin cậy và khả năng mở rộng.
  • Ambari: Một công cụ nền web để quản lý, giám sát Apache Hadoop cluster gồm hỗ trợ cho Hadoop HDFS, Hadoop MapReduce, Hive, HCatalog, HBase, Zookeeper, Oozie, Pig, và Sqoop. Ambari cũng cung cấp dashboard để xem sức khỏe của cluster như bản đồ nhiệt và khả năng xem các ứng dụng MapReduce, Pig, và Hive trực quan cùng với các tính năng chuẩn đoán các đặc tính hiệu suất trong giao diện thân thiện.
  • Avro: Một hệ thống đồng bộ dữ liệu.
  • Cassandra: CSDL multi-master khả chuyển, tính sẵn sàng cao.
  • Chukwa: Một hệ thống thu thập dữ liệu để quản lý các hệ thống phân tán lớn.
  • HBase: Một CSDL phân tán, khả chuyển hỗ trợ dữ liệu có cấu trúc cho các bảng lớn.
  • Hive: Một hạ tầng kho dữ liệu (data warehouse) cung cấp tổng hợp dữ liệu và truy vấn ad hoc.
  • Mahout: Một thư viện khai thác dữ liệu (data mining) và máy học (machine learning) khả chuyển.
  • Pig: Một ngôn ngữ luồn dữ liệu (data-flow) cấp cao và khung thực thi cho tính toán song song.
  • Zookeeper: Một dịch vụ phối hợp hiệu suất cao cho các ứng dụng phân tán.

Học từ các nhà phân phối

Một trong những vấn đề lớn nhất khi học big data là tạo môi trường. Mỗi nhà phân phối big data có môi trường khác nhau và có nhiều thứ cần để tạo nên nền tảng big data. Nhiều người không bắt đầu big data vì họ e ngại các tài nguyên cần thiết để tạo môi trường. Hortonworks đã tạo môi trường học tập tuyệt vời. Họ tạo Sandbox với mọi thứ 1 người cần để học big data và cũng cung cấp các bài tự học rất tốt kèm theo. Sandbox đi kèm với hàng ta các bài hướng dẫn thực hành tự học hướng dẫn bạn cơ bản về Hadoop, chứa Hortonworks Data Platform.

Tôi nghĩ Hortonworks rất tuyệt vời khi xây dựng Sandbox và Tutorial.

Học từ sách

Có vài quyển sách tốt có thể tham khảo để học về big data.

Nếu tìm kiếm trên Amazon chắc có hàng triệu cuốn sách nhưng tôi nghĩ 3 cuốn trên là cần thiết. Khi đã đọc xong 3 cuốn sách trên, bạn sẽ có một ý tưởng rõ ràng về các bước tiếp theo nên làm trong loạt bài này là gì. Bạn có đủ khả năng để đưa ra quyết định đúng đắn cho mình.

(Theo http://blog.SQLAuthority.com)


Leave a comment

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ê.

Data scientist làm gì?

Data scientist hiểu dữ liệu rất tốt. Họ dùng các thuật toán dữ liệu và xây dựng các xu hướng từ dữ liệu có sẵn. Họ là những nghệ sĩ cả trang của những người phân tích máy tính. Họ xem xét dữ liệu truyền thống cũng như khám phá các cách mới khác nhau để xem xét dữ liệu.

Data scientist không đợi để xây dựng các giải pháp từ dữ liệu có sẵn. Họ suy nghĩ sáng tạo, họ nghĩ trước khi dữ liệu nhập vào hệ thống. Data scientist là những chuyên gia có tầm nhìn xa những người hiểu được nhu cầu kinh doanh và kế hoạch trước thời hạn, điều này giúp xây dựng các giải pháp với tốc độ nhanh chóng.

Bên cạnh đó là chuyên gia dữ liệu (data expert). Đặc điểm chung của data scientist là “tò mò” (curiosity). Họ luôn tự hỏi về những gì họ có thể nhận được từ dữ liệu hiện có và cách nhận được tối đa từ dữ liệu tương lai.

Data scientist tự hỏi với dữ liệu, những thứ đi vượt qua công việc của data analysist hoặc business analysist.

Các kỹ năng cần thiết cho data scientist

Một vài kỹ năng mà data scientist phải có.

  • Kỹ năng chuyên nghiệp với các công cụ thống kê như SAS, Excel, R,…
  • Hiểu các mô hình toán học.
  • Thành thạo thực hành với các công cụ trực quan như Tableau, PowerPivots, D3,…
  • Kỹ năng phân tích để hiểu nhu cầu kinh doanh.
  • Kỹ năng giao tiếp

Về mặt công nghệ, bất kỳ data scientist nên biết cơ bản các công nghệ như Hadoop, Cloudera cũng như toàn bộ hệ sinh thái của chúng (ngôn ngữ lập trình, các công cụ phân tích và trực quan hóa,….)

Nhờ rằng để trở thành data scientist thành công, một yêu cầu là phải có kỹ năng tuyệt vời, chỉ  có 1 bằng cấp trong 1 lĩnh vực giáo dục sẽ không đủ.

Lưu ý cuối cùng

Data scientist thật sự là công việc rất thú vị. Theo nghiên cứu, không đủ data scientist trên thế giới để xử lý bùng nổ dữ liệu hiện tại. Trong tương lai gần, dữ liệu sẽ mở rộng theo cấp số nhân, và nhu cầu các data scientist sẽ tăng lên cùng với nó.

(Theo http://blog.SQLAuthority.com)


Leave a comment

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ư –

  • Nhiều bạn bè của tôi có 1 ngày sinh nhật vào 1 ngày nào đó?
  • Bộ phim yêu thích nhất của hầu hết bạn bè của tôi là gì để tôi có thể nói về nó và tham gia cùng họ?
  • Bạn bè tôi thích đi du lịch đến những nơi nào nhất?
  • Bạn bè của tôi ở Anh và Mỹ không thích điều gì để khi đến du lịch, tôi không làm điều đó?

Có rất nhiều câu hỏi tôi có thể nghĩ đến. Điều này cho thấy điều quan trọng để phân tích big data như thế nào.

Có 1 vài loại phân tích được liệt kê dưới đây có thể dùng với big data.

(continue…)

(Theo http://blog.SQLAuthority.com)


Leave a comment

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.

Zookeeper là gì?

Zookeeper là 1 dịch vụ tập trung để duy trì thông tin cấu hình, đặt tên, cung cấp sự đồng bộ phân tán , và cung cấp các dịch vụ nhóm. Nói cách khác, Zookeeper là 1 dịch vụ đồng bộ hóa nhân rộng (replicated synchronization service) với sự nhất quán cuối cùng (eventual consistency). Nói đơn giản – trong Hadoop cluster có nhiều nodes khác nhau và 1 node là master. Giả sử master node lỗi với bất kỳ lý do gì. Trong trường hợp này, vai trò của master node được chuyển cho 1 node khác. Vai trò chính của master node là quản lý việc ghi (writer) theo thứ tự. Zookeeper sẽ gán mater node mới và đảm bảo rằng Hadoop cluster thực hiện tiếp xử lý mà không gặp vấn đề. Zookeeper là phương pháp phối hợp tất cả các yếu tố của hệ thống phân tán của Hadoop. Dưới đây là 1 vài nhiệm vụ mà Zookeeper chịu trách nhiệm.

  • Zookeeper quản lý toàn bộ quy trình (workflow) việc khởi động (start) và dừng (stop) các nodes khác nhau trong cluster của Hadoop.
  • Trong Hadoop cluster khi bất kỳ xử lý nào cần cấu hình để hoàn thành tác vụ. Zookeeper đảm bảo node đó được cấu hình nhất quán.
  • Trong trường hợp master node lỗi, Zookeeper có thể gán master node mới và đảm bảo cluster làm việc bình thường.

(Theo http://blog.SQLAuthority.com)


Leave a comment

Big Data #16 – Tương tác với Hadoop – PIG là gì? – PIG Latin là gì?


Yahoo bắt đầu làm việc với Pig cho các triển khai ứng dụng của họ trên Hadoop. Mục tiêu của Yahoo là quản lý dữ liệu không cấu trúc.

Pig là gì và Pig Latin là gì?

Pig là 1 nền tảng (platform) cấp cao để tạo các chương trình MapReduce được dùng với Hadoop và ngôn ngữ chúng ta dùng cho nền tảng này được gọi là PIG Latin. Pig được thiết kế để giúp Hadoop thân thiện với người dùng hơn và thích hợp hơn. PIG là 1 môi trờng thực thi tương tác hỗ trợ ngôn ngữ Pig Latin. Ngôn ngữ Pig Latin hỗ trợ nạp (load) và xử lý (process) dữ liệu đầu vào với 1 chuỗi các biến đổi (transform) để tạo ra kết quả mong muốn. PIG có 2 môi trường thực thi khác nhau 1) Local Mode – tất cả scripts chạy trên 1 máy đơn. 2) Hadoop – tất cả scripts chạy trên Hadoop Cluster.

Pig Latin vs SQL

Pig cơ bản tạo tập các job cho map và reduce dưới hoods. Pig cũng rất tương tự với SQL. Pig Latin cung cấp lớp trừu tượng trên dữ liệu. Nó tập trung vào dữ liệu thay vì cấu trúc dưới hood. Pig Latin là ngôn ngữ rất mạnh và nó có thể làm nhiều công việc khác nhau như nạp (load) và lưu trữ dữ liệu, streaming dữ liệu, filtering dữ liệu cũng như các hoạt động dữ liệu khác liên quan đến chuỗi. Điểm khác biệt chính giữa SQL và Pig Latin là PIG là thủ tục (procedural) và SQL là khai báo (declarative). Nói đơn giản, Pig Latin rất tương tự với SQL execution plan. Trong khi SQL xử lý cây (tree) tự nhiên, Pig Latin theo Directed Acyclic Graph (DAG). DAGs được dùng để mô hình hóa một số loại cấu trúc khác nhau trong toán học và khoa học máy tính.

(Theo http://blog.SQLAuthority.com)


Leave a comment

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) truền thống rất đắc.

HIVE là gì?

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.

Cách tổ chức của HIVE

Dữ liệu được tổ chức thành 3 định dạng trong HIVE.

Tables: Chúng rất tương tự như bảng (tables) trong RDBMS và chứa các dòng (rows). Hive chỉ được xếp lớp trên HDFS, do đó tables được ánh xạ trực tiếp vào các thư mục của hệ thống tập tin. Nó cũng hỗ trợ các tables được lưu trên các hệ thống tập tin khác.

Partitions: Hive tables có thể có nhiều hơn 1 partition. Chúng được ánh xạ với các thư mục con và các hệ thống tập tin.

Buckets: Trong Hive, dữ liệu có thể được chia thành các buckets. Buckets được lưu trữ như các tập tin trong partition trong hệ thống tập tin.

Hive cũng có metastore để lưu tất cả metadata. Nó là CSDL quan hệ chứa thông tin khác nhau liên quan đến Hive Schema (column types, owners, key-value data, statistics,…). Chúng ta có thể dùng MySQL cho việc này.

HiveSQL (HQL) là gì?

Ngôn ngữ truy vấn Hive cung cấp các toán tử cơ bản giống SQL. Đây là một số tác vụ mà HQL có thể làm dễ dàng.

  • Tạo và quản lý tables và partitions.
  • Hỗ trợ các toán tử Relational, Arithmetic và Logical khác nhau.
  • Evaluate functions
  • Tải về nội dung 1 table từ thư mục cục bộ hoặc kết quả của câu truy vấn đến thư mục HDFS.

Đây là ví dụ truy vấn HQL:

SELECT upper(name), salesprice
FROM sales;
SELECT category, count(1)
FROM products
GROUP BY category;

Bạn có thể nhìn thấy nó rất tương tự với SQL.

(Theo http://blog.SQLAuthority.com)


Leave a comment

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ý.

Graph Databases

Với dữ liệu được liên kết chặt chẽ ở mức cao, phù hợp dùng Graph database. CSDL này có cấu trúc quan hệ node. Các nodes và các relationships chứa 1 Key Value Pair nơi dữ liệu được lưu trữ. Điều thuận lợi nhất của CSDL này là hỗ trợ điều hướng nhanh hơn giữa các các mối quan hệ (relationship). Ví dụ, Facebook dùng CSDL graph để liệt kê và minh họa các mỗi quan hệ khác nhau giữa những người dùng. Neo4j là 1 trong các CSDL graph nguồn mở phổ biến nhất. Một trong các điểm bất lợi của CSDL Graph là nó không thể tự tham chiếu (self joins trong RDBMS).

Spatial Databases

Tất cả chúng ta dùng Foursquare, Google+ cũng như Facebook để check-in. Tất cả các vị trí (location) với sự trợ giúp của Global Positioning System (GPS).

(continue…)

(Theo http://blog.SQLAuthority.com)


Leave a comment

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.

Riak

Riak là 1 trong những CSDL KVP phổ biến nhất. Nó cung cấp khả năng mở rộng (scalability) và hiệu suất (performance) cho CSDL dung lượng lớn (volume) và tốc độ (velocity). Ngoài ra, nó cài đặt cơ chế thu thập key và values giúp xây dựng hệ thống quản lý được.

CSDL KVP là lựa chọn tốt cho social media, communities, caching layer cho kết nối đến các CSDL khác. Nói đơn giản, khi chúng ta yêu cầu tính linh hoạt của lưu trữ dữ liệu giúp khả năng mở rộng – CSDL KVP là lựa chọn tốt.

Document Database

Có hai loại document database khác nhau. 1) Full document content (web pages, word docs,…) và 2) Storing document components for storage. Loại thứ 2 của document database chúng ta đang nói ở đây. Chúng dùng Javascript Object Notation (JSON) và Binary JSON làm cấu trúc của document. JSON là ngôn ngữ rất dễ hiểu và nó rất dễ viết cho các ứng dụng. Có 2 cấu trúc JSON chính được dùng cho Document Database – 1) Name Value Pairs và 2) Ordered List.

MongoDB và CouchDB là 2 trong Open Source NonRelational Document Database phổ biến nhất.

MongoDB

CSDL MongoDB được gọi collections. Mỗi collection được xây dựng bởi documents và mỗi document được soạn ra bởi fields. MongoDB collections có thể được tạo chỉ mục để tối ưu hóa hiệu suất. MongoDB ecosystem sẵn sàng cao, hỗ trợ truy vấn cũng như MapReduce. Nó thường được dùng trong hệ thống quản lý nội dung khối lượng (volume) lớn.

CouchDB

CSDL CouchDB được soạn ra bởi documents mà chứa fieldsattachments (được biết như description). Nó hỗ trợ các thuộc tính ACID. Các điểm thu hút chính của CouchDB là nó sẽ tiếp tục vận hành thậm chí kết nối mạng chập chờn. Do tính chất này, CouchDB thích hợp lưu trữ dữ liệu cục bộ.

Document Database là sự lựa chọn tốt khi người dùng tạo các báo cáo động từ các yếu tố thay đổi rất thường xuyên. Một ví dụ tốt của dùng document là phân tích theo thời gian thực trong mạng xã hội hoặc hệ thống quản lý nội dung.

(Theo http://blog.SQLAuthority.com)