Cơ sở dữ liệu dung lượng 100 TeraBytes - Ước tính tài nguyên và thời gian


10

Tôi đang thực hiện tính toán 'mặt sau của phong bì' để thiết lập cơ sở dữ liệu báo cáo 100TB. Tôi đang tìm kiếm suy nghĩ từ các chuyên gia ở đây. Môi trường đề xuất:

  1. Dung lượng lưu trữ ~ 100TB
  2. Bảng ~ 200, kích thước từ 1GB đến 5TB. kích thước trung bình có thể nằm trong khoảng từ 100GB đến 200GB
  3. ETL - các công việc có thể yêu cầu nối giữa các bảng của 10 triệu hàng, với các khóa tham gia từ 10 byte đến 500 byte. tham gia như vậy sẽ kết thúc trong dưới 2-5 phút
  4. Chọn trực tiếp - ban đầu, chỉ quan tâm đến tốc độ chọn. nên hỗ trợ 500 lượt chọn / giây. Cập nhật / giây sẽ là số tương đối nhỏ hơn nhiều và có thể bỏ qua cho bài tập này.
  5. cần sẵn sàng 24x7. Cần có sẵn 2 máy chủ DB độc lập để phục vụ các cuộc gọi chọn lọc (với dữ liệu được sao chép).

Câu hỏi:

  1. Hiện tại, tôi đang xem xét Oracle. Kinh nghiệm của bạn như thế nào với các giải pháp mã nguồn mở thương mại (hoặc) khác cho cơ sở dữ liệu lớn?
  2. Bạn đã thấy hệ điều hành phần cứng nào hoạt động tốt nhất? Tôi đang lên kế hoạch cho Linux trên Dell.
  3. Lưu trữ mạng, chẳng hạn như NetApp, là phải? Những vấn đề bạn thấy trước với việc sử dụng thương mại ra khỏi các đĩa kệ?
  4. Khi phần cứng và HĐH đã sẵn sàng, bạn sẽ dành bao nhiêu thời gian để thiết lập, định cấu hình DB, lưu trữ, v.v.
  5. Thành phần nhóm nào hoạt động tốt nhất trong môi trường bạn đã quan sát? Ý tôi là, các Quản trị viên khác nhau (Quản trị viên hệ điều hành, Quản trị viên Oracle DB?) Cần có để quản lý và vận hành một thiết lập như vậy. Có bao nhiêu trong số chúng có thể cần thiết để đạt được thời gian hoạt động 24x7.
  6. Bất kỳ xấp xỉ / phạm vi trên Giấy phép DB, chi phí lưu trữ mạng.

Tôi biết tôi không có tất cả các chi tiết môi trường. Tôi không tìm kiếm chi tiết chính xác, một xấp xỉ là đủ. Mặc dù một số câu hỏi có thể được trả lời tốt nhất bởi các nhà quản lý, tôi quan tâm đến quan điểm của Quản trị viên. Tôi đánh giá cao đầu vào của bạn.


1
Tôi nghĩ rằng câu hỏi này là quá rộng để trả lời. Tôi sẽ cho người khác xem nếu họ đồng ý trước khi tôi tiến bộ.
Phil

1
@Phil Tôi đồng ý, tôi không chắc liệu điều này có nên được chia thành nhiều câu hỏi hay không, vì vậy người dùng có chuyên môn khác nhau có thể trả lời các phần khác nhau. Nhưng mô tả môi trường là giống nhau cho tất cả các câu hỏi, vì vậy đã tiến hành để thực hiện một câu hỏi duy nhất. Tôi nghĩ rằng đây có thể là câu hỏi đầu tiên của tôi về SO (mặc dù là người dùng thường xuyên của SO), vì vậy hãy coi tôi là người mới và nếu có cách nào tốt hơn để đặt câu hỏi này, vui lòng đề xuất.
Kash

10
Nghe có vẻ như một dự án trị giá hàng triệu đô la. Bạn sẽ căn cứ dự án như vậy trên tư vấn diễn đàn?
Remus Rusanu

1
@RemusRusanu Đây không phải là nguồn thông tin duy nhất. Khi điều này đi vào giai đoạn đánh giá chính thức, sẽ có rất nhiều hoạt động khác. Tôi có ý kiến ​​cao về những lời khuyên mà người dùng SO đưa ra. Trong khi viết câu hỏi, tôi chắc chắn rằng tôi sẽ tìm thấy một số chi tiết rất hữu ích mà tôi chưa từng nghĩ đến.
Kash

1
@RemusRusanu - đúng vậy. Giá cuối cùng tôi thấy cho Netezza là $ 20k / TB cho các hệ thống TwinFin. Không chắc chắn hộp Exadata của dung lượng đó sẽ dùng để làm gì. Ngoài ra, SLA khá hung dữ và hệ thống có vẻ như có một lượng người dùng lớn. Nó có thể cần một số lượng lớn hơn các máy chủ mart dữ liệu để xử lý tải truy vấn.
Mối quan

Câu trả lời:


21

Những ấn tượng đầu tiên

  1. Tùy thuộc vào yêu cầu hiệu suất của bạn, 100TB là một khối lượng dữ liệu khá tích cực. Nếu bạn muốn Oracle, bạn nên kiểm tra các hệ thống Exadata của họ. Ngoài ra, hãy xem các dịch vụ từ Netezza hoặc Teradata. Với khối lượng lựa chọn đó, bạn có thể muốn xem xét một giao diện người dùng dựa trên OLAP hoặc ít nhất là khá tích cực sử dụng các khung nhìn cụ thể hóa và viết lại truy vấn. Bạn sẽ không nhận được 500 lần quét bảng / giây từ bất cứ thứ gì.

    Đối với nội dung có yêu cầu độ trễ ít nghiêm ngặt hơn, bạn có thể muốn xem xét số lượng dữ liệu lớn hơn để cung cấp khả năng báo cáo cho cộng đồng người dùng của mình. Trong trường hợp này, SQL Server và SSAS có thể là một tùy chọn cho các dữ liệu vì việc cấp phép cho số lượng máy chủ lớn hơn sẽ rẻ hơn so với cố gắng làm điều tương tự với Oracle.

  2. Xem (1). Phần cứng thông thường trên kiến ​​trúc đĩa chia sẻ có thể bị chậm trên tập dữ liệu kích thước này.

  3. KHÔNG! Nếu bất cứ ai đề nghị NFS cung cấp cho họ một cú đá tốt. Hoặc là lưu trữ đính kèm trực tiếp hoặc nhiều bộ điều khiển SAN với nhiều bộ điều khiển tầm trung. Hãy suy nghĩ về một vài chục bộ điều khiển sê-ri MD3000 hoặc một cái gì đó tương tự - nếu bạn không sử dụng cho mục đích xây dựng nền tảng 'dữ liệu lớn'.

  4. Nhận một chuyên gia lưu trữ có kinh nghiệm trong các nền tảng kho dữ liệu phạm vi PB. Bạn có thể sẵn sàng cho một công việc phát triển ETL đáng kể và rất nhiều công việc kiểm tra nếu bạn phải đáp ứng SLA cứng.

  5. 24x7 trên một kho dữ liệu là tham vọng vào thời điểm tốt nhất. Đây có phải là một nền tảng báo cáo hoạt động? Có lẽ bạn có thể giải thích các yêu cầu của bạn một chút.

  6. Sphincter-puckeringly đắt tiền, và phụ thuộc vào yêu cầu hiệu suất của bạn. Lần trước tôi đã thấy (một vài năm trước) Netezza đã sử dụng để báo giá 20.000 đô la / TB cho các hệ thống TwinFin, làm cho nền tảng của bạn 2 triệu đô la cho 100TB cộng với chi phí cho máy chủ dự phòng và phần cứng dự phòng. Exadata là, tôi tin rằng, rẻ hơn một chút, nhưng tôi không có bất kỳ giá nào trong tay.

    Hãy xem Netezza, Exadata và một nền tảng Teradata để so sánh và chi phí cho Ab initio như một công cụ ETL.

Đây là một tập hợp các yêu cầu khá tích cực - 24x7 trên kho dữ liệu thường không được thực hiện và khối lượng dữ liệu đủ lớn để đưa bạn vào vương quốc của nền tảng 'dữ liệu lớn'. Nếu bạn có một yêu cầu báo cáo hoạt động thì bạn nên xem xét kỹ xem đó là gì. Giữ tách biệt với phân tích của bạn trừ khi bạn có lý do cụ thể (ví dụ: nguồn cấp dữ liệu thị trường có độ trễ thấp) không. Trộn các yêu cầu hoạt động và phân tích trên cùng một nền tảng là mojo xấu.

Tôi nghĩ rằng bạn thực sự cần phải có được các chuyên gia để đánh giá các yêu cầu của bạn. Không có cái nhìn sâu hơn về những gì bạn đang cố gắng để đạt được tất cả những gì tôi có thể đưa ra là một số gợi ý theo kinh nghiệm về những gì nên làm hoặc không làm.


8

Một số tùy chọn khác cần xem xét khi xử lý khối lượng dữ liệu lớn như thế này bao gồm:

  1. Mọi thứ mà @ConcernedOfTunbridgeWells đăng
  2. Greenplum từ EMC
  3. Kho dữ liệu song song từ Microsoft

Đừng có kế hoạch bỏ qua chi phí phần cứng ở bất cứ đâu. Một hệ thống với các loại thông số kỹ thuật này sẽ tiêu tốn của bạn một số tiền lớn.

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.