2011-11-25 11 views
5

Điểm trong việc nuôi một cụm Hadoop và sử dụng cụm đó để đưa dữ liệu vào kho dữ liệu Vertica/InfoBright là gì?Tại sao các cơ sở dữ liệu theo định hướng Cột như Vertica/InfoBright/GreenPlum tạo ra sự phiền toái cho Hadoop?

Tất cả nhà cung cấp dịch vụ tiếp tục nói "chúng tôi có thể kết nối với Hadoop", nhưng tôi không hiểu điểm chính là gì. Lợi ích của việc lưu trữ trong Hadoop và chuyển vào InfoBright là gì? Tại sao không có ứng dụng lưu trữ trực tiếp trong Infobright/Vertica DW?

Cảm ơn bạn!

Trả lời

0

Tôi không phải là người sử dụng Hadoop (chỉ là một Vertica user/DBA), nhưng tôi sẽ giả định câu trả lời sẽ là một cái gì đó dọc theo những dòng:

-Bạn đã có một thiết lập sử dụng Hadoop và bạn muốn thêm cơ sở dữ liệu "Dữ liệu lớn" để phân tích phân tích chuyên sâu.

-Bạn muốn sử dụng Hadoop cho các chức năng không phân tích và xử lý và cơ sở dữ liệu để phân tích. Nhưng đó là cùng một dữ liệu, vì vậy không cần hai nguồn cấp dữ liệu.

3

Có một số lý do bạn có thể muốn làm điều đó 1. Giá mỗi TB. Chi phí lưu trữ trong Hadoop rẻ hơn nhiều so với Vertica/Netezza/greenplum và tương tự). Bạn có thể nhận được lưu giữ lâu dài trong Hadoop và dữ liệu ngắn hạn trong phân tích DB 2. Khả năng nhập dữ liệu trong hadoop (thực hiện chuyển đổi) tốt hơn trong Hadoop 3. phân tích có lập trình (thư viện như Mahout) để bạn có thể xây dựng phân tích văn bản nâng cao 4. xử lý dữ liệu phi cấu trúc

các dbs MPP cung cấp hiệu suất tốt hơn trong các truy vấn ad-hoc, tốt hơn đối phó với cấu trúc dữ liệu và kết nối với các công cụ BI truyền thống (OLAP và báo cáo) - vì vậy về cơ bản Hadoop bổ sung cho việc chào bán các DBS

0

Để mở rộng một chút về câu trả lời của Arnon, Hadoop đã được công nhận là một lực lượng không biến mất và đang tăng trac tion trong các tổ chức, nhiều lần thông qua các nỗ lực cơ sở từ các nhà phát triển. Cơ sở dữ liệu MPP rất giỏi trả lời các câu hỏi mà chúng tôi biết về thời gian thiết kế, chẳng hạn như "Chúng tôi nhận được bao nhiêu giao dịch mỗi giờ theo quốc gia?". Hadoop bắt đầu như một nền tảng cho một loại nhà phát triển mới sống ở đâu đó giữa các nhà phân tích và nhà phát triển, một người có thể viết mã nhưng cũng hiểu phân tích dữ liệu và học máy. Cơ sở dữ liệu MPP (cột hay không) rất kém trong việc phục vụ loại nhà phát triển này thường phân tích dữ liệu phi cấu trúc, sử dụng các thuật toán đòi hỏi quá nhiều năng lượng CPU để chạy trong cơ sở dữ liệu hoặc bộ dữ liệu quá lớn. Lượng công suất CPU tuyệt đối cần thiết để xây dựng một số mô hình làm cho việc chạy các thuật toán này trong bất kỳ loại DB truyền thống nào không thể.

My đường ống cá nhân sử dụng hadoop thường trông giống như:

  1. Chạy một số truy vấn toàn cầu rất lớn trong Hadoop để có được một cảm giác cơ bản cho các dữ liệu và sự phân bố của các biến.
  2. Sử dụng Hadoop để tạo tập dữ liệu nhỏ hơn chỉ với dữ liệu mà tôi quan tâm.
  3. Xuất tập dữ liệu nhỏ hơn thành một DB quan hệ.
  4. Run rất nhiều thắc mắc nhỏ trên db quan hệ, xây dựng vượt trội tờ, đôi khi làm một chút R.

Gấu nhớ rằng công việc này chỉ hoạt động cho các "nhà phát triển chuyên gia phân tích" hoặc "nhà khoa học dữ liệu". Số dặm khác sẽ thay đổi.Quay lại câu hỏi của bạn do những người như tôi từ bỏ công cụ của họ, những công ty này đang tìm cách để duy trì liên quan trong một thời đại mà Hadoop đồng nghĩa với dữ liệu lớn, khởi động thú vị nhất và công nghệ tiên tiến (cho dù điều này có được hay không.). Ngoài ra, bạn cũng có thể thảo luận với nhau về bản thân.) Nhiều cài đặt Hadoop có thứ tự lớn hơn hoặc lớn hơn các tổ chức triển khai MPP, có nghĩa là nhiều dữ liệu hơn được giữ lại lâu hơn trong Hadoop.

14

Tại sao kết hợp các giải pháp? Hadoop có một số khả năng tuyệt vời (xem url bên dưới). Những khả năng này mặc dù không bao gồm cho phép người dùng doanh nghiệp chạy phân tích nhanh. Các truy vấn mất 30 phút đến vài giờ trong Hadoop đang được phân phối trong 10 giây với Infobright.

BTW, câu hỏi ban đầu của bạn không giả định kiến ​​trúc MPP và vì lý do chính đáng. Khách hàng của Infobright Liverail, AdSafe Media & InMobi, trong số những người khác, sử dụng IEE với Hadoop.

Nếu bạn đăng ký Giấy trắng ngành http://support.infobright.com/Support/Resource-Library/Whitepapers/, bạn sẽ thấy chế độ xem thị trường hiện tại nơi bốn trường hợp sử dụng được đề xuất cho Hadoop được nêu. Nó được tác giả bởi Wayne Eckerson, Giám đốc Nghiên cứu, Nhóm Kiến trúc và Ứng dụng Kinh doanh, TechTarget, vào tháng 9 năm 2011.

1) Tạo lưu trữ trực tuyến.
Với Hadoop, các tổ chức không phải xóa hoặc chuyển dữ liệu sang bộ nhớ ngoại tuyến; họ có thể giữ cho nó trực tuyến vô thời hạn bằng cách thêm các máy chủ hàng hóa để đáp ứng các yêu cầu lưu trữ và xử lý. Hadoop trở thành một giải pháp thay thế chi phí thấp để đáp ứng các yêu cầu lưu trữ trực tuyến.

2) Nạp kho dữ liệu.
Các tổ chức cũng có thể sử dụng Hadoop để phân tích cú pháp, tích hợp và tổng hợp khối lượng lớn Web hoặc các loại dữ liệu khác, sau đó gửi nó đến kho dữ liệu, nơi người dùng bình thường và quyền lực có thể truy vấn và phân tích dữ liệu bằng các công cụ BI quen thuộc. Ở đây, Hadoop trở thành một công cụ ETL để xử lý khối lượng lớn dữ liệu Web trước khi nó hạ cánh trong kho dữ liệu của công ty.

3) Hỗ trợ phân tích.
Đám đông dữ liệu lớn (tức là, nhà phát triển Internet) xem Hadoop chủ yếu là một công cụ phân tích để chạy tính toán phân tích đối với khối lượng lớn dữ liệu. Để truy vấn Hadoop, các nhà phân tích hiện đang cần viết các chương trình bằng Java hoặc các ngôn ngữ khác và hiểu MapReduce, một khuôn khổ để viết các ứng dụng được phân phối (hoặc song song). Lợi thế ở đây là các nhà phân tích không bị hạn chế bởi SQL khi xây dựng các truy vấn. SQL không hỗ trợ nhiều loại phân tích, đặc biệt là những loại liên quan đến tính toán liên tiếp, vốn là phổ biến trong phân tích lưu lượng truy cập web. Điểm bất lợi là Hadoop được định hướng theo lô và không có lợi cho truy vấn lặp lại.

4) Chạy báo cáo. Tuy nhiên,
Định hướng hàng loạt của Hadoop phù hợp để thực hiện các báo cáo được lập lịch thường xuyên. Thay vì chạy các báo cáo chống lại dữ liệu tóm tắt, các tổ chức hiện có thể chạy chúng với dữ liệu thô, đảm bảo kết quả chính xác nhất.

0

Cơ sở dữ liệu song song lớn như Greenplum DB là tuyệt vời để xử lý lượng lớn dữ liệu có cấu trúc. Hadoop là tuyệt vời trong việc xử lý số lượng lớn dữ liệu phi cấu trúc hơn, ví dụ: trang web.

Ngày nay, hàng tấn các phân tích thú vị kết hợp cả hai loại dữ liệu này để có được thông tin chi tiết. Do đó điều quan trọng đối với các hệ thống cơ sở dữ liệu này là có thể tích hợp với Hadoop.

Ví dụ: bạn có thể xử lý văn bản trên cụm Hadoop bằng cách sử dụng MapReduce cho đến khi bạn có một số giá trị điểm cho mỗi sản phẩm hoặc một cái gì đó. Giá trị tính điểm này sau đó có thể được cơ sở dữ liệu sử dụng để kết hợp nó với dữ liệu khác đã được lưu trữ trong cơ sở dữ liệu hoặc dữ liệu đã được tải vào cơ sở dữ liệu từ các nguồn khác.

3

Hadoop có nhiều nền tảng hơn DB.

Hãy nghĩ về Hadoop như một hệ thống tệp gọn gàng hỗ trợ nhiều truy vấn hơn các loại tệp khác nhau. Với điều này trong tâm trí, hầu hết mọi người đổ dữ liệu thô lên Hadoop và sử dụng nó như một lớp dàn trong đường dẫn dữ liệu, nơi nó có thể nhai dữ liệu và đẩy nó vào các hệ thống khác như vertica hoặc bất kỳ hệ thống nào khác. Bạn có một số lợi thế có thể được tiếp tục để tách riêng.

Do đó Hadoop đang chuyển thành nền tảng lưu trữ thực tế cho dữ liệu lớn. Nó đơn giản, có khả năng chịu lỗi, vảy tốt, và dễ dàng cho ăn và lấy dữ liệu ra khỏi nó. Vì vậy, hầu hết các nhà cung cấp đang cố gắng đẩy sản phẩm đến các công ty có thể có cài đặt Hadoop.

0

Dữ liệu không có cấu trúc, theo bản chất, không phù hợp để tải vào kho dữ liệu truyền thống của bạn. Hadoop mapreduce jobs có thể trích xuất các cấu trúc ra khỏi các tệp log của bạn (ví dụ) và sau đó có thể được chuyển vào DW của bạn để phân tích. Hadoop là xử lý theo lô, do đó không phù hợp để xử lý truy vấn phân tích. Vì vậy, bạn có thể xử lý dữ liệu của bạn bằng cách sử dụng hadoop để mang lại một số cấu trúc, và sau đó làm cho nó truy vấn đã sẵn sàng thông qua lớp visualization/sql của bạn.

0

Điểm trong việc cho ăn cụm Hadoop và sử dụng cụm đó để cấp dữ liệu vào kho dữ liệu Vertica/InfoBright là gì?

Vấn đề là bạn sẽ không muốn người dùng của mình kích hoạt truy vấn và đợi vài phút, đôi khi hàng giờ trước khi bạn quay lại câu trả lời. Hadoop không thể cung cấp cho bạn phản hồi truy vấn thời gian thực. Mặc dù điều này đang thay đổi với sự ra đời của Stala của Cloudera và Stinger của Hortonworks. Đây là những công cụ xử lý dữ liệu thời gian thực trên Hadoop.

Hệ thống dữ liệu cơ bản của Hadoop, HDFS, cho phép chunking dữ liệu của bạn và phân phối nó qua các nút trong cụm của bạn. Trên thực tế, HDFS cũng có thể được thay thế bằng bộ nhớ dữ liệu của bên thứ 3 như S3. Điểm là: Hadoop cung cấp cả hai -> lưu trữ + xử lý. Vì vậy, bạn được hoan nghênh sử dụng Hadoop làm công cụ lưu trữ và trích xuất dữ liệu vào kho dữ liệu của bạn khi cần. Bạn cũng có thể sử dụng Hadoop để tạo hình khối và marts và lưu trữ các marts này trong kho.

Tuy nhiên, với sự ra đời của Stinger và Impala, sức mạnh của những tuyên bố này cuối cùng sẽ bị xóa. Vì vậy, giữ một mắt ra.

3

Điều gì làm cho việc triển khai chung có hiệu quả đối với phần mềm này?

Thứ nhất, cả hai nền tảng có rất nhiều điểm chung:

  • Mục đích xây dựng từ đầu để chuyển đổi Big dữ liệu và phân tích kiến ​​trúc
  • Đòn bẩy MPP để mở rộng ra với phần cứng hàng hóa, khả năng quản lý TB thông qua PBs dữ liệu
  • Hỗ trợ HA gốc với chi phí quản lý thấp

Hadoop là lý tưởng cho phân tích dữ liệu thăm dò ban đầu, nơi dữ liệu thường có sẵn trong HDFS và ít giản đồ hơn, và công việc theo lô thường đủ, trong khi Vertica là lý tưởng cho phân tích tương tác, cách điệu, nơi có phương pháp phân tích đã biết cần được áp dụng nhiều lần cho các lô dữ liệu đến.

Bằng cách sử dụng Đầu nối Hadoop của Vertica, người dùng có thể dễ dàng di chuyển dữ liệu giữa hai nền tảng. Ngoài ra, một công việc phân tích duy nhất có thể được phân tách thành các bit và các phần thúc đẩy sức mạnh thực thi của cả hai nền tảng; ví dụ: trong trường hợp sử dụng phân tích trang web, dữ liệu JSON được tạo bởi máy chủ web ban đầu được chuyển vào HDFS. Một công việc giảm bản đồ sau đó được gọi để chuyển đổi dữ liệu bán cấu trúc đó thành các bộ dữ liệu quan hệ, với các kết quả được nạp vào Vertica để lưu trữ và truy xuất được tối ưu hóa bằng các truy vấn phân tích tiếp theo.

Sự khác biệt chính làm cho Hadoop và Vertica bổ sung cho nhau khi giải quyết Dữ liệu lớn.

  • giao diện và khả năng mở rộng

    Hadoop
    Hadoop của bản đồ giảm giao diện lập trình được thiết kế cho nền tảng developers.The được hoan nghênh sự hỗ trợ đa ngôn ngữ của nó cũng như các gói thư viện phân tích làm sẵn được cung cấp bởi một cộng đồng mạnh mẽ.
    Vertica
    Giao diện của Vertica tuân thủ các tiêu chuẩn ngành BI (SQL, ODBC, JDBC, v.v.). Điều này cho phép cả các nhà công nghệ và nhà phân tích kinh doanh tận dụng Vertica trong các trường hợp sử dụng phân tích của họ. SDK là một thay thế cho mô hình giảm bản đồ và thường mang lại hiệu suất cao hơn.

  • chuỗi Tool/hệ thống Eco



    Hadoop
    Hadoop và HDFS tích hợp tốt với nhiều công cụ mã nguồn mở khác. Sự tích hợp của nó với các công cụ BI hiện có đang nổi lên.
    Vertica
    Vertica tích hợp với công cụ BI vì giao diện tuân thủ tiêu chuẩn của nó. Thông qua trình kết nối Hadoop của Vertica, dữ liệu có thể được trao đổi song song giữa Hadoop và Vertica.

  • quản lý lưu trữ



    Hadoop
    Hadoop sao chép dữ liệu 3 lần theo mặc định cho HA. Nó phân đoạn dữ liệu trên cụm máy để cân bằng tải, nhưng lược đồ phân đoạn dữ liệu mờ đục cho người dùng cuối và không thể được tinh chỉnh để tối ưu hóa cho công việc phân tích.
    Vertica
    Nén cột của Vertica thường đạt được tỷ lệ nén 10: 1. Triển khai Vertica điển hình sao chép dữ liệu một lần cho HA và cả hai bản sao dữ liệu có thể đạt được bố cục vật lý khác nhau để tối ưu hóa cho một phạm vi truy vấn rộng hơn. Cuối cùng, Vertica phân đoạn dữ liệu không chỉ để cân bằng tải, mà còn cho việc tối ưu hóa nén và truy vấn.

  • Runtime tối ưu hóa

    Hadoop
    Bởi vì việc quản lý lưu trữ HDFS không sắp xếp hoặc phân đoạn dữ liệu theo cách tối ưu hóa cho một công việc phân tích, trong thời gian chạy việc các dữ liệu đầu vào thường cần phải được resegmented trên cluster và/hoặc sắp xếp, phát sinh một lượng lớn mạng và I/O đĩa.

    Vertica
    Bố cục dữ liệu thường được tối ưu hóa cho khối lượng công việc truy vấn mục tiêu trong khi tải dữ liệu, do đó số lượng I/O tối thiểu phát sinh trong thời gian truy vấn. Kết quả là, Vertica được thiết kế để phân tích theo thời gian thực thay vì xử lý dữ liệu theo lô.

  • Auto tuning

    Hadoop
    Bản đồ-giảm các chương trình sử dụng ngôn ngữ thủ tục (Java, Python, vv), trong đó cung cấp các nhà phát triển kiểm soát hạt mịn của logic phân tích, nhưng cũng đòi hỏi rằng các nhà phát triển tối ưu hóa công việc một cách cẩn thận trong các chương trình của họ.
    Vertica
    Trình thiết kế cơ sở dữ liệu Vertica cung cấp hiệu chỉnh tự động cho một khối lượng công việc đầu vào. Các truy vấn được xác định trong ngôn ngữ SQL khai báo và được tối ưu hóa tự động bởi trình tối ưu hóa cột Vertica.
Các vấn đề liên quan