2013-08-05 24 views

Trả lời

5

Chỉ để lưu trữ, bạn có thể lưu trữ bất kỳ thứ gì trong HDFS. Nhưng điều đó sẽ không có ý nghĩa gì cả. Trước hết, bạn không nên nghĩ về Hadoop như là một sự thay thế cho RDBMS của bạn (mà bạn đang cố gắng làm ở đây). Cả hai đều có nghĩa là cho các mục đích hoàn toàn khác nhau. Hadoop không phù hợp với loại nhu cầu giao dịch, quan hệ hoặc thời gian thực của bạn. Nó có nghĩa là để phục vụ nhu cầu xử lý hàng loạt ngoại tuyến của bạn. Vì vậy, tốt hơn là phân tích trường hợp sử dụng của bạn đúng cách và sau đó đóng băng quyết định của bạn.

Là đề xuất tôi muốn trỏ bạn đến Hive. Nó cung cấp cho bạn khả năng lưu trữ trên đầu trang của cụm Hadoop hiện có của bạn. Nó cũng cung cấp một giao diện SQL giống như kho của bạn, điều này sẽ làm cho cuộc sống của bạn dễ dàng hơn nhiều nếu bạn đến từ nền SQL. Nhưng một lần nữa, Hive cũng là một hệ thống xử lý hàng loạt và không phù hợp nếu bạn cần một cái gì đó thời gian thực.

Bạn có thể xem HBase mặc dù theo đề xuất của abhinav. Đó là một DB có thể chạy trên cụm Hadoop của bạn và cung cấp cho bạn quyền truy cập đọc/ghi thời gian thực ngẫu nhiên vào dữ liệu của bạn. Nhưng bạn nên ghi nhớ 1 điều rằng đó là một db NoSQL. Nó không tuân theo các thuật ngữ và quy ước của SQL. Vì vậy, bạn có thể tìm thấy nó một chút người nước ngoài ban đầu. Bạn có thể phải suy nghĩ về các vấn đề như thế nào để lưu trữ dữ liệu của bạn theo kiểu lưu trữ mới (cột) không giống như lưu trữ kiểu hàng của RDBMS của bạn. Nếu không, nó không phải là một vấn đề để thiết lập và sử dụng nó.

HTH

0

Bất kỳ tệp nào cũng có thể được lưu trữ trong HDFS. Nhưng nếu bạn muốn có một DB kiểu DB bạn nên đi cho HBASE. Nếu bạn lưu trữ trực tiếp dữ liệu của mình vào HDFS, bạn sẽ không thể lưu trữ tính hợp lý.

+1

Bạn nên thêm cách lưu dữ liệu quan hệ vào bộ nhớ cột như HBase. –

Các vấn đề liên quan