1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn cơ sở dữ liệu nâng cao MẠNG XÃ HỘI VỚI NEO4J Social Network

33 1,2K 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 557,67 KB

Nội dung

Trong khi mạng xã hội đề cậpđến một tập hợp các phần tử thành viên và các quan hệ liên kết giữa chúng thì SocialMedia đề cập tới hình thức sản xuất và phân phối nội dung.. Phân tích mạng

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT

Trang 2

MỤC LỤC

CHƯƠNG I: MẠNG XÃ HỘI 3

1 Khái niệm mạng xã hội 3

2 Lịch sử mạng xã hội 5

3 Phân tích mạng xã hội 6

3.1 Lịch sử về phân tích mạng xã hội 7

3.2 Một số khái niệm 8

CHƯƠNG II NEO4J 11

1 Cơ sở dữ liệu NoSQL 11

2 Neo4J 17

2.1 Những điểm nổi bật 17

2.2 Neo4j – Cơ sở dữ liệu đồ thị 18

CHƯƠNG III XÂY DỰNG MẠNG XÃ HỘI VỚI NEO4J 27

1 Một số thao tác cơ bản với Neo4j 27

2 Giao diện chương trình 29

KẾT LUẬN 32

Trang 3

CHƯƠNG I: MẠNG XÃ HỘI

1 Khái niệm mạng xã hội

Mạng xã hội, hay gọi là mạng xã hội ảo, (tiếng Anh: social network) là dịch vụ nốikết các thành viên cùng sở thích trên Internet lại với nhau với nhiều mục đích khác nhaukhông phân biệt không gian và thời gian

Mạng xã hội có những tính năng như chat, e-mail, phim ảnh, voice chat, chia sẻfile, blog và xã luận Mạng đổi mới hoàn toàn cách cư dân mạng liên kết với nhau và trởthành một phần tất yếu của mỗi ngày cho hàng trăm triệu thành viên khắp thế giới Cácdịch vụ này có nhiều phương cách để các thành viên tìm kiếm bạn bè, đối tác: dựa theogroup (ví dụ như tên trường hoặc tên thành phố), dựa trên thông tin cá nhân (như địa chỉe-mail hoặc screen name), hoặc dựa trên sở thích cá nhân (như thể thao, phim ảnh, sáchbáo, hoặc ca nhạc), lĩnh vực quan tâm: kinh doanh, mua bán

Hiện nay thế giới có hàng trăm mạng mạng xã hội khác nhau, với MySpace vàFacebook nổi tiếng nhất trong thị trường Bắc Mỹ và Tây Âu; Orkut và Hi5 tại Nam Mỹ;Friendster tại Châu Á và các đảo quốc Thái Bình Dương Mạng xã hội khác gặt hái đượcthành công đáng kể theo vùng miền như Bebo tại Anh Quốc, CyWorld tại Hàn Quốc,Mixi tại Nhật Bản và Facebook tại Việt Nam

Về cơ bản, mạng xã hội giống như một trang web mở với nhiều ứng dụng khácnhau Mạng xã hội khác với trang web thông thường ở cách truyền tải thông tin và tíchhợp ứng dụng Trang web thông thường cũng giống như truyền hình, cung cấp càng

Trang 4

nhiều thông tin, thông tin càng hấp dẫn càng tốt còn mạng xã hội tạo ra các ứng dụng mở,các công cụ tương tác để mọi người tự tương tác và tạo ra dòng tin rồi cùng lan truyềndòng tin đó.

Sự ra đời ồ ạt của các mạng xã hội (Social Network) thời gian gần đây ở Việt Namcũng như trên toàn thế giới đã tạo ra một làn sóng mới kích thích sự phát triển của kênhtruyền thông cộng đồng

Thời kỳ trăm hoa đua nở của các mạng xã hội tất yếu dẫn đến việc phân khúc thịtrường ngày một nhỏ hơn, cạnh tranh giữa các mạng ngày một gay gắt hơn Điểm nổi bậtcủa Social Network mà ai cũng nhận thấy đó là tính kết nối và chia sẻ rất mạnh mẽ Nóphá vỡ những ngăn cách về địa lý, ngôn ngữ, giới tính lẫn quốc gia Những gì bạn làm,bạn nghĩ, cả thế giới có thể chia sẻ với bạn chỉ trong tích tắc

Social Network site hay mạng xã hội là mạng được tạo ra để tự thân nó lan rộngtrong cộng đồng thông qua các tương tác của các thành viên trong chính cộng đồng đó.Mọi thành viên trong mạng xã hội cùng kết nối và mỗi người là một mắt xích để tạo nênmột mạng lưới rộng lớn truyền tải thông tin trong đó

Chúng ta cần phân biệt hai khái niệm Social Media (truyền thông công chúng)

và Social Network (mạng xã hội) Hãy xét trên hai phần cơ bản của truyền thông: sảnxuất nội dung và phân phối nội dung (khác với phát hành) Trong khi mạng xã hội đề cậpđến một tập hợp các phần tử (thành viên) và các quan hệ liên kết giữa chúng thì SocialMedia đề cập tới hình thức sản xuất và phân phối nội dung Như vậy, ngay cả MySpacehay Facebook, tự thân nó không phải Social Media vì nó không sản xuất mà cũng khôngphân phối, mà là mạng xã hội, nhưng nó cung cấp môi trường để các blogger sản xuất vàphân phối Social Mediakhông hề phụ thuộc vào Social Network Ví dụ nếu ai đó lập mộttrang web cá nhân để đưa các bài viết và quan điểm cá nhân của mình lên, vậy là đã sảnxuất nội dung, nhờ Internet phân phối chính là Social Media

Với những đặc điểm đó, lợi ích mà mạng xã hội có thể mang lại cho doanh nghiệp baogồm:

Trang 5

- Thiết lập mối quan hệ với số đông khách hàng mục tiêu.

- Khả năng lan truyền thông tin nhanh chóng

- Các hoạt động trực tuyến sẽ truyền cảm hứng cho các cuộc hội thoại trong "thếgiới thực"

- Thông tin cá nhân khá chân thực về người dùng

- Cơ hội để kể chuyện về doanh nghiệp và sản phẩm của bạn đồng thời tăng độnhận biết thương hiệu

- Gia tăng trải nghiệm của người dùng

Về mặt bản chất, mạng xã hội chính là hình thức làm marketing truyền miệng trênmôi trường Internet "Tiếng lành đồn xa, tiếng dữ đồn xa", với khả năng lan truyền thôngtin nhanh như vận tốc ánh sáng, mạng xã hội có thể trở thành "kẻ hủy diệt" doanh nghiệpmột khi những tin tức bất lợi được lan truyền vượt quá khả năng kiểm soát của doanhnghiệp Vì thế, thâm nhập các mạng xã hội tập trung đông đảo nhóm khách hàng mụctiêu để hiểu rõ hơn nhu cầu của họ, đồng thời hạn chế tối đa các rủi ro cho doanh nghiệp

là việc tất yếu mà các marketer nên làm

2 Lịch sử mạng xã hội

Mạng xã hội xuất hiện lần đầu tiên năm 1995 với sự ra đời của trang Classmatevới mục đích kết nối bạn học, tiếp theo là sự xuất hiện của SixDegrees vào năm 1997 vớimục đích giao lưu kết bạn dựa theo sở thích

Năm 2002, Friendster trở thành một trào lưu mới tại Hoa Kỳ với hàng triệu thànhviên ghi danh Tuy nhiên sự phát triển quá nhanh này cũng là con dao hai lưỡi: server củaFriendster thường bị quá tải mỗi ngày, gây bất bình cho rất nhiều thành viên

Năm 2004, MySpace ra đời với các tính năng như phim ảnh (embedded video) vànhanh chóng thu hút hàng chục ngàn thành viên mới mỗi ngày, các thành viên cũ củaFriendster cũng lũ lượt chuyển qua MySpace và trong vòng một năm, MySpace trở thànhmạng xã hội đầu tiên có nhiều lượt xem hơn cả Google và được tập đoàn NewsCorporation mua lại với giá 580 triệu USD

Trang 6

Năm 2006, sự ra đời của Facebook đánh dấu bước ngoặt mới cho hệ thống mạng

xã hội trực tuyến với nền tảng lập trình "Facebook Platform" cho phép thành viên tạo ranhững công cụ (apps) mới cho cá nhân mình cũng như các thành viên khác dùng.Facebook Platform nhanh chóng gặt hái được thành công vược bực, mang lại hàng trămtính năng mới cho Facebook và đóng góp không nhỏ cho con số trung bình 19 phút màcác thành viên bỏ ra trên trang này mỗi ngày

Tạo ra một hệ thống trên nền Internet cho phép người dùng giao lưu và chia sẻthông tin một cách có hiệu quả, vượt ra ngoài những giới hạn về địa lý và thời gian

Xây dựng lên một mẫu định danh trực tuyến nhằm phục vụ những yêu cầu côngcộng chung và những giá trị của cộng đồng

Nâng cao vai trò của mỗi công dân trong việc tạo lập quan hệ và tự tổ chức xoayquanh những mối quan tâm chung trong những cộng đồng thúc đẩy sự liên kết các tổchức xã hội

3 Phân tích mạng xã hội

Phân tích mạng xã hội là phương pháp phân tích kết nối giữa cá nhân, nhóm hay

cơ quan bằng một hoặc nhiều loại hình cụ thể phụ thuộc lẫn nhau chẳng hạn như bạn bè,quan hệ họ hàng, sở thích chung, công việc, và nhiều mối quan hệ khác nhau Phân tích

Trang 7

mạng xã hội là xem các mối quan hệ xã hội về lý thuyết mạng bao gồm các nút và cácquan hệ ( còn được gọi là các kết nối) Các node mạng có mối liên hệ giữa các actor trongnetwork.

Phân tích mạng xã hội đã nổi lên như một kỹ thuật quan trọng trong xã hội họchiện đại Nó cũng đạt đến tầm ảnh hưởng như các phân tích về nhân chủng học, sinh học,nghiên cứu thông tin, kinh tế Phân tích mạng xã hội đã trở thành một chủ đề phổ biến.Phân tích mạng xã hội đã chuyển từ những khái niệm mơ hồ tới một cách tiếp cận phântích theo khuông mẫu Các nhà phân tích đã tập trung nghiên cứu phân tích các tương tácthay vì phân tích hành vi cá nhân Sự khác biệt giữa chúng phụ thuộc phần lớn vào cácnhà phân tích có thể thu thập dữ liệu Ví dụ như các công ty, trường học, hoặc một nhómtrên mạng xã hôi, nhà phân tích sẽ có thông tin đầy đủ về các dữ liệu

3.1 Lịch sử về phân tích mạng xã hội

Đầu tiên chúng ta thảo luận về lịch sử của phân tích mạng nhằm đưa ra một số ýtưởng về các vấn đề cần bàn luận, Sau đó chúng ta sẽ định nghĩa các khái niệm cơ bản.Các nghiên cứu trước đây về phân tích mạng thuộc các lĩnh vực phân tích tâm lý giáodục, phát triển của trẻ, xã hội học, nhân loại học (anthropology)

Vào Thế kỷ 19, Durkheim đã viết “sự kiện xã hội”—hay hiện tượng được tạo qua

sự tương tác giữa các cá nhân, tuy vậy hàm chứa thực tế là sự độc lập của các chủ thể cánhân (individual actor)

Bước sang thế kỷ 20, Simmel là học giả đầu tiên suy nghĩ tường tận về các thuậtngữ cho mạng xã hội Simmel đã khảo sát cách đối tác thứ 3 có thể tác động lên quan hệgiữa hai cá nhân và cách thức cần thiết để các cấu trúc tổ chức hay quan chức hành chínhđiều hành tương tác trong các nhóm lớn Một trong các ví dụ đầu tiên về nghiên cứumạng theo lối thực nghiệm là vào năm 1922, của Almack “Ảnh hưởng của sự thông minhvào việc lực chọn mối kết hợp.” Almack đã hỏi học sinh ở trường tiểu học tại Californiacách chọn bạn Sau đó ông ta kết hợp chỉ số IQ của người chọn và người được chọn vàđưa ra giả thuyết về tác động của các lựa chọn là chủ thể chọn và lựa chọn là đồng cấp

Trang 8

độ thông minh Năm 1926, Wellman ghi nhận các cặp cá nhân thường chơi thân nhau.

Cô đã ghi lại các dữ liệu về các thuộc tính chiều cao, học lực, IQ,… và cũng phát hiện ra

“Cung” là kết nối giữa 2 nút

Lân cận N của nút là tập các nút kết nối trực tiếp với nút đó

Bậc (degree): bậc ki của nút là số các nút trong lân cận của nó

Trong một đồ thị hay mạng không có hướng cung là thuận nghịch(reciprocal),nghĩa là nếu A được nối với B thì B được xem là nối với A Trong đồ thị hay mạng cóhướng, các cung là không thuận nghịch—A có thể nối với B, nhưng B không nối với A(mũi tên của cung chỉ chiều kết nối.)

Betweenness: Trong lý thuyết đồ thị và phân tích mạng xã hội, có những cách

khác nhau để xác định tầm quan trọng tương đối của một đỉnh trung tâm trong đồ thị(ví

dụ một người quan trọng như thế nào trong một mạng lưới xã hội, hoặc tầm ảnh hưởngcủa một căn phòng trong tòa nhà hoặc sử dụng một con đường trong mạng lưới đô thị

Có 4 cách xác định được sử dụng rộng rãi trong phân tích mạng: degree centrality,betweenness, closeness, and eigenvector centrality

- Degree centrality: Được định nghĩa là số lượng liên hệ mà một node đó có,

để có được Degree centrality mức độ cao nhất thì node đó phải kết nối vớitất cả các node khác và các node khác cũng chỉ được kết nối với node trungtâm Công thức tính Degree centrality là

Trang 9

C D ( v )= deg ⁡(v )

n−1

- Betweenness centrality: là một đỉnh trung tâm của đồ thị Đỉnh này có dựa

trên nhiều con đường ngắn nhất (shortest path) giữa các đỉnh khác cóbetweeness cao hơn Đối với đồ thị n đỉnh, Betweeness centrality được tínhnhư sau

C B (v )=

s ≠t ≠ v ∈V

δ st(v)

δ st

- Closeness centrality: Trung bình của tổng chiều dài của tất cả con đường

đi ngắn nhất từ một node đến các node còn lại Ta có công thức

Công thức của clustering coefficient cho hệ thống N=Số nút C=clusteringcoefficient cho từng nút i

Trang 10

Lưu ý clustering coefficient của đồ thị vô hướng có chút khác biệt so vớiclustering coefficient của đồ thị có hướng—có 2 lần các nối kết khả dĩ, cạnh không thuậnnghịch được đếm là một nối kết còn cạnh thuận nghịch được đến là 2 nối kết.

Trong một đồ thị vô hướng nếu một nút được nối với 4 nút khác và giữa 4 nút nàychỉ có nút đầu và nút thứ 3 được nối kết, clustering coefficient là 1/6 (1 nối kết thực thụtrong 6 nối kết có thể) Clustering phản ánh cách nối kết các láng giềng của bạn với nhau

Trang 11

CHƯƠNG II NEO4J

1 Cơ sở dữ liệu NoSQL

Đây là thuật ngữ chung cho các hệ CSDL không sử dụng mô hình dữ liệu quan hệ.NoSQL đặc biệt nhấn mạnh đến mô hình lưu trữ cặp giá trị - khóa và hệ thống lưu trữphân tán

Thuật ngữ NoSQL được giới thiệu lần đầu vào năm 1998 sử dụng làm tên gọichung cho các hệ CSDL quan hệ nguồn mở nhỏ không sử dụng SQL để truy vấn

Vào năm 2009, Eric Evans, nhân viên của Rackspace giới thiệu lại thuật ngữNoSQL khi Johan Oskarsson của Last.fm muốn tổ chức một hội thảo về cơ sở dữ liệunguồn mở phân tán Thuật ngữ NoSQL đánh dấu bước phát triển của thế hệ CSDL mới:phân tán (distributed) + không ràng buộc (non-relational)

NoSQL storage đặc biệt phổ dụng trong thời kỳ Web 2.0 bùng nổ, nơi các mạngdịch vụ dữ liệu cộng đồng cho phép người dùng tạo hàng tỷ nội dung trên web Do đó, dữliệu lớn rất nhanh vượt qua giới hạn phần cứng cần phải giải quyết bằng bài toán phântán

Tốt hơn SQL

Các hệ CSDL quan hệ (RDBM) hiện tại bộc lộ những yếu kém trong những tác vụnhư đánh chỉ mục một lượng lớn dữ liệu, phân trang, hoặc phân phối luồng dữ liệu media(phim, ảnh, nhạc, ) CSDL quan hệ được thiết kế cho những mô hình dữ liệu không quálớn trong khi các dịch vụ mạng xã hội lại có một lượng dữ liệu cực lớn và cập nhật liêntục do số lượng người dùng quá nhiều

Thế hệ CSDL mới - NoSQL - giảm thiểu tối đa các phép tính toán, tác vụ đọc-ghiliên quan kết hợp với xử lý theo lô (batch processing) đảm bảo được yêu cầu xử lý dữliệu của các dịch vụ mạng xã hội Hệ CSDL này có thể lưu trữ, xử lý từ lượng rất nhỏ đến

Trang 12

hàng petabytes dữ liệu với khả năng chịu tải, chịu lỗi cao nhưng chỉ đòi hỏi về tài nguyênphần cứng thấp.

NoSQL thiết kế đơn giản, nhẹ, gọn hơn so với RDBMs Ngoài memory cached, dữliệu nhỏ,… các NoSQL dạng này đặc biệt thích hợp cho thiết bị cầm nơi mà bộ nhớ vàtốc độ xử lý hạn chế hơn so với máy tính thông thường Khi khối lượng dữ liệu cần lưutrữ và lượng vào/ra cực lớn, RDBM đòi hỏi khắt khe và cao về phần cứng, chi phí thiếtlập, vận hành đắt thì các mô hình lưu trữ phân tán trong NoSQL trở nên vượt trội Thiết

kế đặc biệt tối ưu về hiệu suất, tác vụ đọc-ghi, ít đòi hỏi về phần cứng mạnh và đồngnhất, dễ dàng thêm bớt các node không ảnh hưởng tới toàn hệ thống,…

Các mô hình dữ liệu đặc thù của NoSQL cũng cấp API tự nhiên hơn so với việcdùng RDBM

Những ràng buộc về giấy phép sử dụng cùng với một khoản phí không nhỏ cũng là

ưu thế Chấp nhận NoSQL đồng nghĩa với việc bạn tham gia vào thế giới nguồn mở nơi

mà bạn có khả năng tùy biến mạnh mẽ các sản phẩm, thư viện theo đúng mục đích củamình

Bảng dưới đây đưa ra một số so sánh giữa RDBM và NoSQL

Tính năng CSDL quan hệ NoSQL

Hiệu suất Kém hơn SQL

Relational giữa các table

Cực tốt

Bỏ qua SQL

Bỏ qua các ràng buộc dữ liệuKhả năng mở rộng Hạn chế về lượng Hỗ trợ một lượng rất lớn các node

Hiệu suất đọc-ghi Kém do thiết kế để đảm bảo sự

vào/ra liên tục của dữ liệu

Tốt với mô hình xử lý lô và nhữngtối ưu về đọc-ghi dữ liệu

Thay đổi số node

trong hệ thống

Phải shutdown cả hệ thống

Việc thay đổi số node phức tạp

Không cần phải shutdown cả hệthống

Trang 13

Việc thay đổi số node đơn giản,không ảnh hưởng đến hệ thống.

Phần cứng Đòi hỏi cao về phần cứng Đòi hỏi thấp hơn về giá trị và tính

đồng nhất của phần cứng

Đặc điểm

Về cơ bản, thiết kế của NoSQL lựa chọn mô hình lưu trữ dữ liệu theo cặp giá trị

‘key-value’ Khái niệm node được sử dụng như trong các hệ thống phân tán Việc lưu trữ

dữ liệu có thể chấp nhận trùng lặp, tức dữ liệu được nhân bản ra nhiều node khác nhau.Một yêu cầu truy vấn dữ liệu có thể gửi tới nhiều máy cùng lúc, khi một máy nào đó bị sự

cố cũng không ảnh hưởng nhiều tới toàn bộ hệ thống Để đảm bảo tính ‘thời gian thực’trong các hệ thống xử lý lượng lớn, thông thường người ta sẽ tách biệt CSDL ra làm 2hoặc nhiều CSDL CSDL nhỏ đảm bảo đọc-ghi liên tục, khi đạt tới ngưỡng thời gianhoặc dung lượng, CSDL nhỏ sẽ được gộp vào CSDL lớn có thiết kế tối ưu cho tác vụđọc

 Một số đặc điểm:

- Phi quan hệ (hay không ràng buộc): relational - ràng buộc - thuật ngữ sửdụng đến các mối quan hệ giữa các bảng trong cơ sở dữ liệu quan hệ(RDBM) sử dụng mô hình gồm 2 loại khóa: khóa chính và khóa phụ(primary key + foreign key) để ràng buộc dữ liệu nhằm thể hiện tính nhấtquán dữ liệu từ các bảng khác nhau Non-relational là khái niệm không sửdụng các ràng buộc dữ liệu cho nhất quán dữ liệu

- Lưu trữ phân tán: mô hình lưu trữ phân tán các tập tin hoặc dữ liệu ra nhiềumáy khác nhau trong mạng LAN hoặc Internet dưới sự kiểm soát của phầnmềm

- Nhất quán cuối: tính nhất quán của dữ liệu không cần phải đảm bảo ngaytức khắc sau mỗi phép ghi Một hệ thống phân tán chấp nhận những ảnh

Trang 14

hưởng theo phương thức lan truyền và sau một khoảng thời gian (khôngphải ngay tức khắc), thay đổi sẽ đi đến mọi điểm trong hệ thống để cuốicùng dữ liệu trên hệ thống sẽ trở lại trạng thái nhất quán.

- Triển khai đơn giản, dễ nâng cấp và mở rộng

- Mô hình dữ liệu và truy vấn linh hoạt …

Ứng dụng NoSQL

Nhiều người chấp nhận NoSQL là do vấn đề chi phí hoặc ý thức hệ, nói không vớinguồn đóng Việc đó cũng đồng nghĩa với việc chấp nhận sự non nớt và những hỗ trợkém hơn Nếu bạn vẫn thích thiết kế mô hình dữ liệu dạng bảng, CSDL SQL sẽ là lựachọn

NoSQL đặc biệt thích hợp cho các ứng dụng cực lớn (dịch vụ tìm kiếm, mạng xãhội ,…) và nhỏ Với những ứng dụng vừa và lớn thì RDBMs vẫn thích hợp hơn

Thiết kế NoSQL chấp nhận tính nhất quán yếu và có thể không dùng đến

‘transaction’ Với những ứng dụng đòi hỏi sự chặt chẽ của dữ liệu, cần ‘transaction’ đảmbảo tính toàn vẹn, cơ sở dữ liệu truyền thống là lựa chọn thích hợp hơn NoSQL thíchhợp cho các mô hình lưu trữ dữ liệu có tính đặc thù như object oriented, documentoriented, xml database,…

Thường chúng ta sử dụng rất hạn chế những khả năng mà các CSDL RDBM cungcấp nhưng vẫn phải trả phí cho nó Nếu không cần đến các tính năng cao cấp, không cầncác chức năng của SQL hoặc rất ghét viết các câu lệnh SQL thì hãy nghĩ đến NoSQL

Có 4 loại NO SQL

Key Value Store

Mô hình lưu trữ dữ liệu dưới cặp giá trị key-value trong đó việc truy xuất, xóa, cậpnhật giá trị thực thông qua key tương ứng Với sự bổ trợ bởi các kỹ thuật BTree, B+Tree,Hash, dữ liệu có thể tồn tại trên RAM hoặc đĩa cứng, phân tán hoặc không phân tán

Hầu hết các NoSQL database đều là key-value store Dưới đây là một số đặc tính

có thể được hỗ trợ trong sản phẩm dạng này:

Trang 15

- Key/value cache in RAM: memcached, Citrusleaf database, Velocity, Redis, Tuplespace,

- Key/value save on disk: Memcachedb, Berkeley DB, Tokyo Cabinet, Redis,

- Eventually Consistent Key Value Store: Amazon Dynamo, Voldemort, Dynomite, KAI,Cassandra, Hibari, Project Voldemort,…

- Ordered key-value store: NMDB, Memcachedb, Berkeley DB,

- Distributed systems: Apache River, MEMBASE, Azure Table Storage, AmazonDynamo,

o Điểm mạnh:

- Mô hình dữ liệu đơn giản

- Khả năng mở rộng cao

o Điểm yếu:

- Không thể tạo khóa ngoại

- Khó khăn trong dữ liệu phức tạp

 Wide Column Store / Column Families

Hệ cơ sở dữ liệu phân tán cho phép truy xuất ngẫu nhiên/tức thời với khả năng lưutrữ một lượng cực lớn data có cấu trúc Dữ liệu có thể tồn tại dạng bảng với hàng tỷ bảnghi và mỗi bản ghi có thể chứa hàng triệu cột Một triển khai từ vài trăm cho tới hàngnghìn commodity hardware dẫn đến khả năng lưu trữ hàng petabytes nhưng vẫn đảm bảohigh performance Dưới đây là một số sản phẩm thông dụng: Hadoop/HBase – Apache,BigTable – Google, Cassandra - Facebook/Apache, Hypertable - Zvents Inc/Baidu,Cloudera, SciDB, Mnesia, Tablets,…

Trang 16

Thực chất là các document-oriented database - một thiết kế riêng biệt cho việc lưutrữ document Các cài đặt có thể là giả lập tương tác trên relational database, objectdatabase hay key-value store Một số sản phẩm tiêu biểu: Apache Jackrabbit, CouchDB,IBM Lotus Notes Storage Format (NSF), MongoDB, Terrastore, ThruDB, OrientDB,RavenDB,

o Điểm mạnh:

Đơn giản, mô hình dữ liệu mạnh mẽ

- Khả năng mở rộng cao

o Điểm yếu:

- Khó khăn trong interconnected data

- Mô hình truy vấn bị giới hạn các khóa và chỉ mục

- Thiếu map reduct cho các truy vấn lớn

Graph Database

Graph database là một dạng cơ sở dữ liệu được thiết kế riêng cho việc lưu trữthông tin đồ họa như cạnh, nút, properties Một số sản phẩm tiêu biểu: Neo4J, Sones,AllegroGraph, Core Data, DEX, FlockDB, InfoGrid, OpenLink Virtuoso,

o Điểm mạnh:

- mô hình dữ liệu đầy sức mạnh

- Truy vấn nhanh cho các dữ liệu có kết nối

o Điểm yếu:

- Khó khăn trong việc sharding, đang chờ sự phát triển

- Phải thay đổi cách nghĩ, khái niệm về cơ sở dữ liệu đồ thị

Một graph chứa các nút và các mối quan hệ

Một graph lưu trữ record trong các nút (đỉnh) và các nút có các thuộc tính

Một graph đơn giản nhất là một nút đơn lẻ, một record mà có các giá trị (được đặttên) thì được xem như là các thuộc tính Một nút có thể bắt đầu với một thuộc tính và

Ngày đăng: 10/04/2015, 14:35

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w