Chủ đề của BDI302c - Dữ liệu lớn

BDI302c - Phần 5: Hệ quản lý dữ liệu lớn

Hệ quản trị cơ sở dữ liệu truyền thống mang lại truy vấn khai báo và giao dịch ACID, chẳng hạn bảo đảm một lệnh chuyển tiền không bao giờ chỉ chạy một nửa. Ở quy mô hàng trăm máy, giữ trọn bộ bảo đảm đó quá đắt, nên nhiều hệ chọn lối BASE: chấp nhận các bản sao lệch nhau một lúc rồi mới khớp lại, miễn hệ luôn trả lời được. Định lý CAP giải thích vì sao khi mạng bị chia cắt, hệ phân tán phải chọn giữa nhất quán và sẵn sàng. Vertica lưu theo cột để phân tích nhanh, Redis giữ cặp khoá và giá trị trong bộ nhớ, AsterixDB truy vấn tài liệu bán cấu trúc. Ví dụ thiết kế xuyên suốt là một trò chơi trực tuyến phải ghi lượt nhấp, sự kiện lên cấp và tin nhắn trò chuyện cùng lúc, mỗi loại dữ liệu hợp với một kiểu lưu khác nhau và được khai thác lại bằng truy vấn ở Phần 6.

Xem danh sách câu hỏi12 câu hỏi100% có giải thích

Bắt đầu bằng Chế độ học nếu bạn muốn đáp án và giải thích hiện ngay sau mỗi câu — không bấm giờ, dừng lúc nào cũng được. Chọn Thi thử khi muốn biết mình đang ở đâu: có bấm giờ, chấm điểm ở cuối, và giải thích chỉ mở sau khi nộp.

Học ngân hàng câu hỏi của chủ đề

Luyện tập theo chủ đề này

12Câu hỏi hiện có

Câu hỏi của chủ đề

12/12 câuHết danh sách
AData lakes house raw data while data warehouses contain pre-formatted data.
BData lakes utilize hierarchical systems while data warehouses use object storage.
CData lakes contain only files, while data warehouses contain only databases.
DNone of the above.
Lời giải
Đáp án đúng: "Data lakes house raw data while data warehouses contain pre-formatted data.". Data lake (hồ dữ liệu) chứa dữ liệu ở dạng thô, nguyên trạng như khi thu về, cấu trúc chỉ được áp khi đọc (schema-on-read); data warehouse (kho dữ liệu) chứa dữ liệu đã được làm sạch, chuyển đổi và định dạng theo lược đồ cố định trước khi nạp (schema-on-write) để phục vụ báo cáo và truy vấn phân tích. "Data lakes utilize hierarchical systems while data warehouses use object storage." nói gần như ngược: hồ dữ liệu hay đặt trên kho đối tượng phẳng hoặc HDFS, còn kho dữ liệu tổ chức theo bảng quan hệ. "Data lakes contain only files, while data warehouses contain only databases." sai vì chữ only quá tuyệt đối: hồ dữ liệu chứa cả bảng, log, ảnh, và kho dữ liệu cũng không chỉ là một cơ sở dữ liệu. "None of the above." sai vì đã có một phương án mô tả đúng khác biệt cốt lõi.
Mở trang câu hỏi này →
AMongoDB
BHBase
CMySQL
DCassandra
Lời giải
Đáp án đúng: "MySQL". MySQL là hệ quản trị cơ sở dữ liệu quan hệ (RDBMS): dữ liệu tổ chức thành bảng có lược đồ cố định, truy vấn bằng SQL, giao dịch tuân theo ACID, và thường mở rộng theo chiều dọc bằng máy mạnh hơn. Câu hỏi dạng NOT nên những hệ NoSQL thật không được chọn: "MongoDB" là cơ sở dữ liệu hướng tài liệu (document store), lưu bản ghi dạng BSON giống JSON với lược đồ linh hoạt; "HBase" là kho dữ liệu dạng cột rộng (wide-column) chạy trên HDFS, mô phỏng Bigtable của Google, cho đọc ghi ngẫu nhiên theo khoá hàng; "Cassandra" cũng là cơ sở dữ liệu cột rộng, phân tán ngang hàng không có nút chủ, ưu tiên tính sẵn sàng và nhất quán sau cùng (eventual consistency).
Mở trang câu hỏi này →
AA sessionType of 'levelup'
BThrough two events: 'end' and 'start'
CUsing 'ad-clicks.csv'
DWith 'platformType' changed to 'upgrade'
Lời giải
Đáp án đúng: "Through two events: 'end' and 'start'". Trong bộ dữ liệu giả lập trò chơi Catch the Pink Flamingo, nhật ký cấp độ của đội ghi mỗi phiên chơi theo cặp sự kiện; khi đội lên cấp, phiên ở cấp cũ được đóng bằng một sự kiện kết thúc và phiên ở cấp mới được mở bằng một sự kiện bắt đầu, nên việc lên cấp hiện ra qua hai sự kiện liên tiếp end rồi start thay vì một bản ghi riêng mang tên lên cấp. "A sessionType of 'levelup'" sai vì không có loại phiên nào tên như vậy, kiểu sự kiện chỉ là bắt đầu hoặc kết thúc. "Using 'ad-clicks.csv'" sai vì tệp đó ghi lượt người chơi bấm vào quảng cáo, phục vụ phân tích doanh thu, không liên quan đến cấp độ của đội. "With 'platformType' changed to 'upgrade'" sai vì trường platformType mô tả nền tảng thiết bị người chơi dùng như điện thoại hay máy tính, không có giá trị nâng cấp và không mang thông tin cấp độ.
Mở trang câu hỏi này →
ATo impose properties on a BDMS in order to guarantee certain results.
BEnables stricter enforcement of ACID type design.
CThe same as ACID.
DTo overcome the CAP theorem.
Lời giải
Đáp án đúng: "To impose properties on a BDMS in order to guarantee certain results.". BASE gồm Basically Available (cơ bản luôn sẵn sàng), Soft state (trạng thái mềm, có thể thay đổi kể cả khi không có thao tác ghi) và Eventual consistency (nhất quán sau cùng); đó là bộ tính chất mà một hệ quản lý dữ liệu lớn (BDMS) cam kết với người dùng, tức hệ bảo đảm được những kết quả nào khi chạy trên cụm phân tán. Chỗ hay gây tranh cãi là "To overcome the CAP theorem.": BASE đúng là ra đời vì định lý CAP, vốn nói hệ phân tán khi bị phân mảnh mạng không thể vừa nhất quán vừa sẵn sàng, nhưng CAP là giới hạn không vượt qua được; BASE chỉ là cách chấp nhận giới hạn đó, chọn sẵn sàng và nới lỏng nhất quán, nên nói BASE vượt qua CAP là sai về bản chất. "Enables stricter enforcement of ACID type design." sai vì BASE nới lỏng chứ không siết chặt các bảo đảm kiểu ACID. "The same as ACID." sai vì ACID đòi nhất quán chặt cho mỗi giao dịch, còn BASE chấp nhận dữ liệu tạm lệch giữa các bản sao rồi hội tụ dần.
Mở trang câu hỏi này →
AA compressed list that is stored within the value of the database.
BA special type of data type that can store hashes that point to multiple attributes
CA special type of data type that can store up to 512 mb of image data
DA look-up table that is stored as a value in the database. Look up table points to actual values in memory.
Lời giải
Đáp án đúng: "A compressed list that is stored within the value of the database.". Trong Redis, ziplist là một cách mã hoá nội bộ gọn nhẹ: các phần tử của một danh sách, hash hay sorted set nhỏ được xếp liền nhau trong một khối bộ nhớ liên tục, không dùng con trỏ, và khối đó chính là giá trị gắn với khoá; nhờ vậy tiết kiệm bộ nhớ đáng kể. Khi số phần tử hay độ dài phần tử vượt ngưỡng cấu hình, Redis chuyển sang cấu trúc thường; các bản Redis mới thay ziplist bằng listpack cùng ý tưởng. Mảnh "store hashes that point to multiple attributes" mô tả kiểu Hash, còn ziplist không phải kiểu dữ liệu riêng mà là cách lưu bên trong. Mảnh "store up to 512 mb of image data" lấy giới hạn 512 MB của giá trị String, không liên quan ziplist. Mảnh "Look up table points to actual values in memory" mô tả bảng băm dùng con trỏ, đúng kiểu cấu trúc mà ziplist được tạo ra để tránh.
Mở trang câu hỏi này →
Ait is impossible to have consistency, accuracy, and partial tolerance
Bit is necessary to have consistency, accuracy, and partial tolerance
Cit is necessary to have consistency, availability, and partition tolerance
Dit is impossible to have consistency, availability, and partition tolerance
Lời giải
Đáp án đúng: "it is impossible to have consistency, availability, and partition tolerance". Định lý CAP do Eric Brewer nêu nói rằng một hệ phân tán không thể đồng thời bảo đảm cả ba tính chất: nhất quán (mọi nút thấy cùng một dữ liệu tại cùng thời điểm), sẵn sàng (mọi yêu cầu đều nhận được phản hồi) và chịu phân mảnh mạng (hệ vẫn chạy khi mạng giữa các nút bị đứt); khi mạng bị chia cắt, hệ buộc phải chọn giữ nhất quán hoặc giữ sẵn sàng. "it is impossible to have consistency, accuracy, and partial tolerance" dùng sai tên hai tính chất, accuracy và partial tolerance không phải thành phần của định lý. "it is necessary to have consistency, accuracy, and partial tolerance" vừa sai tên tính chất vừa đảo nghĩa thành bắt buộc phải có. "it is necessary to have consistency, availability, and partition tolerance" đúng tên ba tính chất nhưng nói ngược nội dung định lý, vốn khẳng định không thể có đủ cả ba cùng lúc.
Mở trang câu hỏi này →
7What are ziplists in Redis?4 lựa chọn
AA special type of data type that can store up to 512 mb of image data.
BA look up table that is stored as a value in the database. Look up table points to actual values in memory.
CA compressed list that is stored within the value of the database.
DA special type of data type that can store hashes that point to multiple attributes.
Lời giải
Đáp án đúng: "A compressed list that is stored within the value of the database.". Trong Redis, ziplist là cách mã hoá nén dùng cho các danh sách, hash hay sorted set còn nhỏ: thay vì cấp phát từng nút liên kết riêng, Redis xếp mọi phần tử liền nhau trong một vùng nhớ duy nhất làm giá trị của khoá, tiết kiệm bộ nhớ đáng kể; khi cấu trúc vượt ngưỡng cấu hình, Redis chuyển sang dạng mã hoá thông thường. "A special type of data type that can store up to 512 mb of image data." lẫn với giới hạn 512 MB của một giá trị chuỗi trong Redis; chuỗi có thể chứa dữ liệu nhị phân như ảnh, nhưng đó không phải ziplist. "A look up table that is stored as a value in the database. Look up table points to actual values in memory." tả một bảng tra chứa con trỏ, ngược với ý tưởng của ziplist là đặt giá trị ngay trong khối nén. "A special type of data type that can store hashes that point to multiple attributes." tả kiểu hash, nơi một khoá ánh xạ tới nhiều cặp trường giá trị; hash nhỏ có thể được mã hoá bằng ziplist, nhưng bản thân ziplist không phải kiểu hash.
Mở trang câu hỏi này →
ASupport for geospatial data storage and geospatial queries.
BEnables real-time data streaming from external sources.
CBetter equipped for string-based search applications.
DImages as values within the database.
Lời giải
Đáp án đúng: "Support for geospatial data storage and geospatial queries.". Aerospike là cơ sở dữ liệu NoSQL dạng khoá giá trị phân tán, tối ưu cho ổ SSD và độ trễ rất thấp; một tính năng nổi bật của nó là lưu dữ liệu địa lý theo GeoJSON, lập chỉ mục không gian và truy vấn như tìm các điểm nằm trong một vùng hay trong bán kính quanh một toạ độ, hữu ích cho ứng dụng định vị và quảng cáo theo vị trí. "Enables real-time data streaming from external sources." là việc của các công cụ thu thập và truyền dữ liệu dòng như Kafka hay Flume, không phải điểm đặc trưng của một cơ sở dữ liệu lưu trữ. "Better equipped for string-based search applications." là thế mạnh của các máy tìm kiếm văn bản như Elasticsearch, Solr với chỉ mục đảo ngược. "Images as values within the database." là khả năng lưu dữ liệu nhị phân mà nhiều hệ khoá giá trị đều có, không phải nét riêng quan trọng của Aerospike.
Mở trang câu hỏi này →
ANeo4j
BMongoDB
CRedis
DMySQL
Lời giải
Đáp án đúng: "MongoDB". MongoDB là cơ sở dữ liệu NoSQL hướng tài liệu (document store): mỗi bản ghi là một tài liệu dạng BSON giống JSON, có thể chứa trường lồng nhau và mảng, các tài liệu trong cùng collection không bắt buộc cùng lược đồ, phù hợp dữ liệu bán cấu trúc. "Neo4j" là cơ sở dữ liệu đồ thị, mô hình hoá dữ liệu thành nút, quan hệ và thuộc tính, truy vấn bằng Cypher. "Redis" là kho key-value trong bộ nhớ, ánh xạ khoá tới giá trị hoặc cấu trúc dữ liệu đơn giản, dùng nhiều làm bộ đệm. "MySQL" là hệ quản trị cơ sở dữ liệu quan hệ, lưu dữ liệu trong bảng có lược đồ cố định và truy vấn bằng SQL, không thuộc nhóm NoSQL.
Mở trang câu hỏi này →
AMongoDB
BMySQL
COracle
DPostgreSQL
Lời giải
Đáp án đúng: "MongoDB". MongoDB là cơ sở dữ liệu NoSQL hướng tài liệu: mỗi tài liệu lưu dạng BSON giống JSON, các tài liệu trong cùng một collection không bắt buộc có cùng tập trường hay cùng kiểu, nên có thể thêm trường mới bất cứ lúc nào mà không cần sửa lược đồ; vì vậy nó được gọi là không lược đồ (schema-less), hay đúng hơn là lược đồ linh hoạt. "MySQL" sai vì là hệ quản trị cơ sở dữ liệu quan hệ, bảng phải định nghĩa cột và kiểu trước bằng CREATE TABLE. "Oracle" cũng là RDBMS với lược đồ cố định, muốn thêm cột phải chạy ALTER TABLE. "PostgreSQL" là cơ sở dữ liệu quan hệ có lược đồ chặt; nó hỗ trợ cột JSONB để chứa dữ liệu bán cấu trúc, nhưng bảng vẫn có lược đồ khai báo trước nên không phải hệ không lược đồ.
Mở trang câu hỏi này →
AData ingestion
BData quality
CData operations
DData scalability
Lời giải
Đáp án đúng: "Data quality". Chất lượng dữ liệu (data quality) là mảng quản lý dữ liệu lớn lo cho dữ liệu chính xác, nhất quán giữa các nguồn và đáng tin cậy, thông qua kiểm tra, làm sạch, loại trùng, chuẩn hoá định dạng và giám sát liên tục. "Data ingestion" là khâu nạp dữ liệu từ nguồn vào hệ thống, quan tâm số lượng nguồn, tốc độ và định dạng đầu vào; có thể kiểm tra sơ bộ khi nạp nhưng mục tiêu chính không phải bảo đảm tính đúng. "Data operations" là các thao tác vận hành trên dữ liệu như lọc, gộp, biến đổi, truy vấn. "Data scalability" là khả năng hệ thống lưu trữ và xử lý mở rộng theo khối lượng dữ liệu tăng, chẳng hạn bằng cách thêm máy, liên quan đến dung lượng và hiệu năng chứ không phải độ chính xác.
Mở trang câu hỏi này →
ARedis
BMongoDB
CMySQL
DHive
Lời giải
Đáp án đúng: "Redis". Redis là kho khoá giá trị (key-value store) chạy trong bộ nhớ: mỗi khoá là một chuỗi duy nhất, giá trị có thể là chuỗi, danh sách, tập hợp, hash hay sorted set, truy xuất trực tiếp theo khoá nên rất nhanh, thường dùng làm bộ đệm, lưu phiên đăng nhập hoặc hàng đợi. "MongoDB" là cơ sở dữ liệu hướng tài liệu, lưu tài liệu dạng BSON có cấu trúc lồng nhau và truy vấn được theo bất kỳ trường nào, không chỉ theo khoá. "MySQL" là hệ quản trị cơ sở dữ liệu quan hệ, tổ chức dữ liệu thành bảng có lược đồ cố định và truy vấn bằng SQL. "Hive" là kho dữ liệu trên Hadoop, đặt lược đồ bảng lên tệp trong HDFS và truy vấn bằng HiveQL.
Mở trang câu hỏi này →

Đề có câu hỏi của chủ đề này

3 đề chứa ít nhất một câu thuộc chủ đề — mở đề để làm cả bộ, không chỉ từng câu.