Tập dữ liệu Terabyte


7

Tôi có cảm giác rằng hầu hết các hệ thống cơ sở dữ liệu bắt nguồn từ những năm 80 và các bảng thực hiện rập khuôn, các giao dịch ACID và các ràng buộc. Họ đã xây dựng trong tâm trí sự khan hiếm của bộ nhớ, đĩa và sức mạnh xử lý.

Tôi tự hỏi nếu có bất kỳ hệ thống lưu trữ (không cần thiết có thể truy cập thông qua SQL) có thể xử lý như sau:

  • đồ thị (truy vấn a la SPARQL).
  • ma trận (n-chiều) cũng thưa thớt. Hỗ trợ các thuật toán ma trận tầm thường như SVD, phân cụm.
  • quản lý hiệu quả dữ liệu lớn (kích thước terabyte) không thay đổi liên tục; sự thay đổi đang diễn ra mặc dù các đợt hàng ngày.
  • sử dụng các hệ thống đĩa lớn (14TB RAID5 ngày nay chưa đến 1500 đô la). Điều này có nghĩa là, nhiều không gian hơn cho các chỉ mục, kết quả được tính toán trước, v.v.
  • sử dụng GPU / nhiều lõi / bộ xử lý / nút, cho một truy vấn và lập chỉ mục lớn.

Tôi biết hầu hết các mục được triển khai ở đâu đó (Apache Cassandra, SPARQL, Netezza, Exadata), nhưng tôi không có kiến ​​thức về bất kỳ sản phẩm nào có thể thực hiện tất cả.

Câu trả lời:


5

Tôi nghĩ rằng rất nhiều trong số các mặt hàng này là rất nhiều trên đường chân trời (hoặc xa hơn).

SPARQL, chẳng hạn, là thứ mà tôi không thấy cơ sở dữ liệu kết hợp sớm. Gần nhất tôi đã thấy là SDB , một giao diện xử lý SPARQL và gửi nó đến một cơ sở dữ liệu tiêu chuẩn.

Ngoài ra, sử dụng GPU làm bộ xử lý chung vẫn là một điều mang tính cách mạng. Nó không hoàn toàn bị cuốn vào thế giới cơ sở dữ liệu. Ở giai đoạn này, nó vẫn còn trong thế giới của học thuật và lý thuyết.

Chỉ có một nhóm (mà tôi có thể tìm thấy) đang phát triển cơ sở dữ liệu để tận dụng lợi thế của GPU. Alenka là một dự án nguồn mở nhưng nó vẫn đang được phát triển rất nhiều.

Ngoài ra, có một thuật toán sắp xếp mới gọi là GPUTeraSort ngoài kia. Nhưng (là một thuật toán), tôi không biết bất kỳ cơ sở dữ liệu cụ thể nào sử dụng nó vào thời điểm này.

Cuối cùng, có một trang web, GPGPU , để tính toán cho mục đích chung trên GPU mà bạn có thể muốn để mắt tới. Khi cơ sở dữ liệu phát sinh sử dụng GPU, đây sẽ là trang web báo cáo nó.

Phải nói rằng, sử dụng nhiều lõi hoặc nhiều bộ xử lý gần như là nguyên trạng. SQL Server, MySQL, Oracle - tất cả các cơ sở dữ liệu chính đều sử dụng đa luồng.


Cuối cùng, các mục mà bạn đang yêu cầu là một cái gì đó hiện đang vượt xa thế giới cơ sở dữ liệu.

Bạn cũng có thể thử đăng tải chéo này trên StackOverflow, vì họ có thể có một số ý tưởng về cách xử lý dữ liệu cấp Terabyte bằng đồ thị, SPARQL, cải tiến GPU, v.v. Tuy nhiên, câu trả lời của họ có lẽ sẽ giống như "Có , bạn có thể làm điều đó, nhưng nó sẽ là một hệ thống được xây dựng tùy chỉnh rất lớn. "


Cảm ơn bạn đã phân tích GPU, tôi đã không biết về Alenka. Tôi đang xem xét việc phát triển một công cụ lưu trữ như vậy, lý do tôi hỏi là tôi cảm thấy xa lạ với phần còn lại của thế giới. Thật vậy, các cơ sở dữ liệu chính sử dụng đa luồng, nhưng chúng không thể sử dụng nhiều hơn một luồng để xây dựng một chỉ mục hoặc trả lời một truy vấn duy nhất. Tôi có lầm không? Ngoài ra, tôi tưởng tượng việc kết hợp biểu đồ với các bảng trong cùng một truy vấn, chẳng hạn như "chọn người dùng đã mua máy chủ và có một người đã mua máy tính bảng" fof = bạn của một người bạn, cũng có nhiều vòng lặp. Các mục đã mua nằm trong một bảng trong khi quan hệ nằm trong biểu đồ.
Razvan Popovici

Có thể sử dụng nhiều luồng cho cùng một truy vấn, cung cấp truy vấn đủ phức tạp. Tôi không biết bất kỳ cơ sở dữ liệu nào sử dụng nhiều luồng trên cùng một khía cạnh của truy vấn. Chẳng hạn, có thể tách rời một lần quét bảng, nhưng không thể thực hiện điều đó với một vòng lặp tổ. Liệu có bất kỳ cơ sở dữ liệu nào phân tách các truy vấn thành nhiều luồng hay không là một câu hỏi khác nhau.
Richard

Theo như "biểu đồ", nghe có vẻ như có thể được thực hiện trong SQL, mặc dù có thể không dễ dàng như trong các ngôn ngữ khác. (Tôi không thể nói chắc chắn.)
Richard
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.