Thursday, August 28, 2014

7 việc cần để bắt đầu với Big Data

Bài này với mục tiêu đưa ra vài tiêu chí để người đọc có thể tiếp cận vào lĩnh vực Big Data/Analytic (đọc thêm bài viết này để biết Big Data là gì).

Thứ nhất: Thu thập dữ liệu



Khoan hãy nói về các mục tiêu khác, việc đầu tiên là bạn phải thu thập dữ liệu cái đã. Công việc này nghe có vẻ dễ dàng nhưng cực kỳ quan trọng. Bản thân chữ "big data" có nghĩa đơn giản là dữ liệu lớn, do đó bạn cần phải có dữ liệu, mà phải là thật nhiều dữ liệu cơ. Việc thu thập dữ liệu sẽ ảnh hưởng tới thông tin mà bạn thu được sau này.

Tất nhiên, bạn không cần phải giữ toàn bộ dữ liệu trong một thời gian dài, nhưng bạn sẽ không biết bạn có thể có dữ liệu nào và cái nào mới cần thiết trước khi bạn bắt đầu thu thập dữ liệu. Một nguyên lý cơ bản là: Càng nhiều dữ liệu có ích, thì bạn có thể phân tích nhiều khía cạnh khác nhau của dữ liệu.

Rất may, chúng ta có được một "ông trùm" trong lĩnh vực lưu dữ liệu lớn và xử lý dữ liệu lớn này. Tên nó là Hadoop. Hoàn toàn nguồn mở. Lưu đủ thứ dữ liệu, từ dạng web server log, thông tin monitor,... đến email và tweet, từ có cấu trúc đến không có cấu trúc,...

Một khi bạn bắt đầu với Hadoop, bạn sẽ gặp nhiều thành phần khác nữa, và bạn phải nghiên cứu nhiều. Nhưng đừng quên "ông trùm" Hadoop này là được.

Thứ hai: Gom dữ liệu thành nhóm theo logic


Khi có dữ liệu, hãy ngay lập tức tìm cách phân tích dữ liệu này, để xem thử chúng nó có liên quan gì với nhau. Nếu chúng nó có liên quan mật thiết, hãy gom thành một nhóm, đưa vào trong các bucket chung.

Một vài câu hỏi mà bạn có thể đặt ra: Dữ liệu nào có tiềm năng giúp ích cho business? Hay có thể phân tích và tìm ra các ưu thế cạnh tranh? Hoặc giúp bạn phục vụ khách hàng tốt hơn?... Sau khi phân nhóm và xếp độ ưu tiên, bạn sẽ dễ dàng nhận ra dữ liệu nào mà bạn muốn phân tích.

Một từ khoá mà bạn nên biết đó là Map Reduce. Hãy thử tìm hiểu về Map Reduce đi, nếu bạn còn lơ mơ về nó.

Thứ ba: Đừng vứt bỏ hệ thống hiện tại


Đây là suy nghĩ thường thấy của nhiều người, khi họ đọc và biết về hệ thống Big Data, họ choáng ngợp về khả năng của việc xử lý Big Data và về thông tin mà họ có được. Nó nhiều chiều hơn và đầy đủ tất cả thông tin mà họ cần. Tuy nhiên, thành thật mà nói thì nó không thể thay thế được các hệ thống đơn giản mà họ đã xây dựng trước đó, với một mục tiêu báo cáo doanh thu hay gì gì đó.

Thật khó để đưa ra một lý do thuyết phục vấn đề này, nhưng việc đó không quan trọng. Quan trọng là để hệ thống Big Data thay thế được hệ thống hiện tại, bạn phải tích hợp nó với hệ thống hiện tại, và việc này thực tế phải tốn thời gian và công sức rất nhiều. Nhưng lợi ích thì được cái gì? Vậy nên hãy duy trì hệ thống hiện tại và phát triển thêm hệ thống Big Data bên cạnh đó để phân tích, và chỉ dùng để phân tích những thứ mà hệ thống cũ không thể phân tích được mà thôi.

Thứ tư: Hãy nghĩ đến việc sử dụng cloud


Thay vì lo lắng và tính toán xem bạn sẽ xây dựng infrastructure thế nào cho phù hợp với việc xử lý và phân tích Big Data, hãy sử dụng các hệ thống cloud có sẵn các công cụ Map Reduce. Việc này sẽ tiết kiệm rất nhiều thời gian và công sức để setup, hơn nữa việc mở rộng lại dễ dàng.

Hiện nay, các hệ thống cloud lớn đều hỗ trợ sẵn Map Reduce mà Amazon Web Service và Google AppEngine là ví dụ.

Thứ năm: Tự cung cấp dịch vụ


Việc này là cực kỳ quan trọng đối với những người làm business, những người thật sự có được lợi ích lớn khi sử dụng Big Data. Hãy cung cấp cho họ một giao diện dễ sử dụng, hỗ trợ kéo thả, và tự họ có thể tuỳ biến các chiều và góc nhìn data.

Nếu bạn thấy lạ lẫm, hãy thử tìm hiểu về Pivot Table. Còn nếu bạn muốn sử dụng một công cụ hoàn chỉnh luôn thì luôn có Pentaho, Jasper, Tableau,... Phần lớn chúng có bản community (hoàn toàn free) để bạn xài thử, và cũng có bản Enterprise.

Thứ sáu: Hãy nghĩ về quản trị dữ liệu (data governance)


Bạn đang làm (hoặc nghĩ) về Big Data, điều chắc chắn rằng dữ liệu của bạn sẽ trở nên khổng lồ nhanh chóng, khi bắt đầu thực hiện chiến lược phân tích Big Data này. Bạn có 2 con đường để khắc phục vấn đề này: 1- Tiết kiệm dung lượng, bằng cách giảm trùng lắp, nén dữ liệu,... 2- Đầu tư vào thiết bị để nâng cao khả năng lưu trữ và xử lý của hệ thống. Và dù bạn chọn cách nào hoặc kết hợp cả hai, thì bạn cần phải suy tính càng sớm càng tốt.

Thông thường, với một sản phẩm bình thường, bạn sẽ tiếp cận theo hướng làm một bản thử nghiệm, ra được vài kết quả đầu tiên, và dùng nó để thuyết phục mọi người tiếp tục đầu tư. Hệ quả là sẽ tốn rất nhiều chi phí để chuyển đổi và thiết kế lại, hoặc là bạn phải chấp nhận sử dụng một hệ thống không hoàn hảo như mong đợi.

Cách tốt nhất nên là nghĩ về data governance ngay từ đầu, thuyết phục các bộ phận business và infrastructure để xây dựng hệ thống tốt, đáp ứng nhu cầu phân tích tối đa. Và thiết kế kiến trúc sao cho thích hợp và tiết kiệm nhất.

Thứ bảy: Đừng làm một mình


Đọc đến đây, chắc các bạn cũng hiểu vì sao không được làm một mình. Big Data là một vấn đề lớn, lợi ích không mang lại một sớm một chiều, mà cần có sự kiên nhẫn lâu dài, hướng tới mục tiêu lớn. Kết quả thu được lại phục vụ cho các mục đích kinh doanh, phân tích các vấn đề hiện tại, và định hướng tương lai của doanh nghiệp. Do đó, luôn cần một sự đồng bộ giữa các bộ phận.

Nếu bạn là start-up? Hãy cân nhắc kỹ việc tự xây dựng hệ thống của mình với việc sử dụng các phần mềm sẵn có. Đừng nghĩ rằng tự xây dựng thì giá sẽ rẻ hơn thuê/mua các phần mềm/dịch vụ sẵn có. Thực tế, chi phí để tự xây dựng sẽ lớn hơn nhiều.

No comments:

Post a Comment

Biểu mẫu liên hệ

Name

Email *

Message *