Hi có tại SO,Hadoop (+ HBase/HDFS) vs Mysql (hoặc Postgres) - Tải về, dữ liệu có cấu trúc độc lập để được xử lý và truy vấn
Tôi muốn một số ý tưởng/ý kiến về sau từ bạn đáng kính và đáng kính.
Tôi có một bản ghi 100M mà tôi cần xử lý. Tôi có 5 nút (trong một cụm đá) để làm điều này. Dữ liệu rất có cấu trúc và rơi độc đáo trong mô hình dữ liệu quan hệ. Tôi muốn làm những việc song song vì quá trình xử lý của tôi mất một thời gian.
Như tôi thấy, tôi có hai lựa chọn chính:
Cài đặt mysql trên mỗi nút và đặt 20 triệu bản ghi trên mỗi nút. Sử dụng nút đầu để ủy quyền truy vấn cho các nút và tổng hợp kết quả. Khả năng truy vấn ++, nhưng tôi có thể gặp phải một số vấn đề đau đầu khi tôi chọn chiến lược phân vùng, vv (Q. Đây có phải là những gì họ gọi là cụm mysql/postgres không?). Phần thực sự xấu là việc xử lý các hồ sơ được để lại cho tôi bây giờ để chăm sóc (làm thế nào để phân phối trên các máy vv) ...
Hoặc cài đặt Hadoop, Hive và HBase (lưu ý rằng điều này có thể không cách hiệu quả nhất để lưu trữ dữ liệu của tôi, vì HBase là cột định hướng) và chỉ xác định các nút. Chúng tôi viết tất cả mọi thứ trong mô hình MapReduce và, bang, chúng tôi sống hạnh phúc mãi mãi. Vấn đề ở đây là chúng tôi mất khả năng truy vấn "thời gian thực" (tôi biết bạn có thể sử dụng Hive, nhưng điều đó không được đề xuất cho các truy vấn thời gian thực - mà tôi cần) - vì tôi cũng có một số truy vấn sql bình thường để thực thi vào các thời điểm " chọn * từ rượu vang nơi màu = 'nâu' ".
Lưu ý rằng về lý thuyết - nếu tôi có 100M máy, tôi có thể thực hiện toàn bộ ngay lập tức vì mỗi bản ghi xử lý độc lập với nhau. Ngoài ra - dữ liệu của tôi là chỉ đọc. Tôi không dự tính bất kỳ cập nhật nào xảy ra. Tôi không cần/muốn 100 triệu bản ghi trên một nút. Tôi không muốn có dữ liệu dư thừa (vì có nhiều dữ liệu) vì vậy hãy giữ nó trong cả mysql/postgres và Hadoop/HBase/HDFS. không phải là một lựa chọn thực sự.
Nhiều Cảm ơn
Một người bạn của tôi đã đăng cho tôi một cái gì đó như thế này: http://www.cloudera.com/blog/2009/03/database-access-with-hadoop/ đó là một bước nhỏ đi đúng hướng - nhưng tôi muốn nghe ý kiến của bạn về thiết kế và cách tôi nên nói về nó ... – MalteseUnderdog