MysqlFacebook

Facebook có một trong những cụm cơ sở dữ liệu MySQL lớn nhất thế giới, bao gồm hàng nghìn máy chủ trên nhiều trung tâm dữ liệu. Vận hành một cụm có kích thước này yêu cầu tự động hóa hầu hết những gì mà Quản trị viên cơ sở dữ liệu MySQL (DBA) thông thường có thể làm, để cụm gần như có thể tự chạy. Tìm hiểu về thiết kế và kiến ​​trúc của các hệ thống tự động hóa của chúng tôi và nghe một vài câu chuyện chiến tranh

Shlomo đã tham gia nhóm Cơ sở hạ tầng MySQL tại Facebook từ năm 2011, quản lý một trong những cụm MySQL lớn nhất trên thế giới—chủ yếu là do lười biếng và để tự động hóa quản lý nó thay vì anh ấy. Trước khi chuyển sang quản lý hàng nghìn máy chủ MySQL, Shlomo khá hài lòng với hàng trăm máy chủ trong số đó tại các công ty như Sears và Wix, nơi anh ấy là một DBA và một nhà phát triển

Trước khi thâm nhập vào thế giới MySQL vào năm 2006, Shlomo từng là DBA SQL Server tại Quân đoàn Tình báo Israel, nhưng anh ấy không thể cho bạn biết anh ấy đã quản lý bao nhiêu máy chủ ở đó

Shlomo Priymak, Facebook

Phương tiện truy cập mở

USENIX cam kết Truy cập Mở tới nghiên cứu được trình bày tại các sự kiện của chúng tôi. Giấy tờ và thủ tục tố tụng được cung cấp miễn phí cho mọi người sau khi sự kiện bắt đầu. Bất kỳ video, âm thanh và/hoặc slide nào được đăng sau sự kiện cũng đều miễn phí và dành cho tất cả mọi người. Hỗ trợ USENIX và cam kết của chúng tôi đối với Truy cập Mở

MySQL là cơ sở dữ liệu chính được Facebook sử dụng để lưu trữ tất cả dữ liệu xã hội. Họ bắt đầu với công cụ cơ sở dữ liệu MySQL của InnoDB và sau đó viết MyRocksDB, công cụ này cuối cùng được sử dụng làm công cụ Cơ sở dữ liệu MySQL

Memcache nằm trước MySQL dưới dạng bộ đệm

Để quản lý BigData, Facebook tận dụng Apache Hadoop, HBase, Hive, Apache Thrift và PrestoDB. Tất cả những thứ này được sử dụng để nhập dữ liệu , lưu kho và chạy phân tích.

Apache Cassandra được sử dụng cho tìm kiếm hộp thư đến

Beringei và Gorilla, các công cụ lưu trữ chuỗi thời gian hiệu suất cao được sử dụng để giám sát cơ sở hạ tầng.  

LogDevice, kho lưu trữ dữ liệu phân tán được sử dụng để lưu trữ nhật ký.  

Bây giờ hãy đi sâu vào chi tiết cụ thể


1. 1 Kiến trúc bền vững PolyGlot

Facebook, ngày nay, không phải là kiến trúc nguyên khối . Có thể tại một thời điểm như LinkedIn là  và Uber là but definitely not today.

Toàn bộ mạng xã hội bao gồm một số thành phần được liên kết lỏng lẻo khác nhau được cắm vào nhau giống như các khối Lego. Ví dụ: chia sẻ ảnh, trình nhắn tin, biểu đồ xã hội, bài đăng của người dùng, v.v. tất cả các dịch vụ siêu nhỏ được ghép nối lỏng lẻo khác nhau đang chạy cùng với nhau. Và mỗi microservice đều có một lớp kiên trì riêng biệt để giúp mọi thứ dễ quản lý

MysqlFacebook

Kiến trúc kiên trì Polyglot có một số ưu điểm. Các cơ sở dữ liệu khác nhau với các mô hình dữ liệu khác nhau có thể được tận dụng để triển khai các trường hợp sử dụng khác nhau. Hệ thống có tính khả dụng cao hơn và dễ dàng mở rộng quy mô


1. 2 Hệ thống kiên trì đa ngôn ngữ là gì?

Nói một cách đơn giản, tính bền bỉ của polyglot có nghĩa là sử dụng các cơ sở dữ liệu khác nhau có các tính năng và mô hình dữ liệu độc đáo để triển khai các trường hợp sử dụng khác nhau của hệ thống

Chẳng hạn, Cassandra và Memcache sẽ phục vụ các yêu cầu về độ bền khác nhau trái ngược với MySQL DB truyền thống

Nếu chúng tôi có các yêu cầu về ACID như đối với giao dịch tài chính, thì MySQL sẽ phù hợp nhất. Mặt khác, khi chúng tôi cần truy cập dữ liệu nhanh, chúng tôi sẽ chọn Memcache hoặc khi chúng tôi ổn với việc không chuẩn hóa dữ liệu và cuối cùng nó nhất quán nhưng cần một cơ sở dữ liệu có tính sẵn sàng cao nhanh, thì giải pháp NoQuery sẽ phù hợp nhất

MysqlFacebook

Nếu bạn muốn nắm vững cơ sở dữ liệu bao gồm các khái niệm như cơ sở dữ liệu quan hệ và phi quan hệ, khi nào nên chọn cái nào, tính nhất quán cuối cùng, tính nhất quán mạnh mẽ, các loại cơ sở dữ liệu khác nhau (quan hệ, hướng tài liệu, khóa-giá trị, cột rộng . ), những trường hợp sử dụng nào phù hợp với chúng, cách ứng dụng và cơ sở dữ liệu xử lý lưu lượng truy cập đồng thời, cách chúng tôi quản lý sự phát triển của cơ sở dữ liệu khi xử lý hàng petabyte dữ liệu, cách chúng quản lý tính nhất quán của dữ liệu khi được triển khai ở các vùng đám mây và vùng khả dụng khác nhau trên toàn cầu, v.v., hãy xem . Tôi ước tôi có một cái gì đó tương tự để học hỏi trong những năm đầu tiên của sự nghiệp. Zero to Software Architect learning track that I’ve written comprising three courses. I wish I had something similar to learn from in the initial years of my career.

Do mọi công nghệ đều có trường hợp sử dụng, Facebook tận dụng các công nghệ bền bỉ khác nhau để đáp ứng các yêu cầu khác nhau về độ bền bỉ của mình


1. 3 Facebook có sử dụng hệ thống cơ sở dữ liệu quan hệ không?

mysql

Đây là cơ sở dữ liệu chính mà Facebook sử dụng  với các công cụ khác nhau. Động cơ khác nhau? .

Facebook tận dụng biểu đồ xã hội để theo dõi và quản lý tất cả các sự kiện của người dùng trên cổng thông tin, chẳng hạn như ai thích bài đăng của ai. Bạn chung. Những người bạn của bạn đã ăn ở nhà hàng bạn đang ghé thăm, v.v. Và biểu đồ xã hội này được cung cấp bởi MySQL

MysqlFacebook

Ban đầu, nhóm kỹ thuật của Facebook bắt đầu với công cụ MySQL InnoDB để duy trì dữ liệu xã hội. Dữ liệu chiếm quá nhiều dung lượng lưu trữ mặc dù đã được nén. Sử dụng nhiều dung lượng hơn có nghĩa là nhiều yêu cầu phần cứng hơn, điều này làm tăng chi phí lưu trữ dữ liệu một cách tự nhiên

MysqlFacebook
nguồn hình ảnh. Facebook

 

Công cụ lưu trữ InnoDB MySQL

InnoDB là công cụ lưu trữ MySQL mặc định cung cấp hiệu suất và độ tin cậy cao.

Kiến trúc InnoDB

MysqlFacebook
nguồn hình ảnh. InnoDB

Công cụ lưu trữ MyRocks MySQL được viết bởi Facebook

Để xử lý các vấn đề về dung lượng. Nhóm kỹ sư tại Facebook đã viết một công cụ cơ sở dữ liệu MySQL MyRocks mới giúp giảm 50% mức sử dụng dung lượng và cũng giúp cải thiện hiệu quả ghi.

Theo thời gian, Facebook đã di chuyển công cụ cơ sở dữ liệu hướng tới người dùng của mình từ InnoDB sang MyRocks. Quá trình di chuyển không gặp nhiều khó khăn vì chỉ có công cụ DB thay đổi và MySQL công nghệ cốt lõi là như nhau

MysqlFacebook
nguồn hình ảnh. Facebook

Sau quá trình di chuyển, trong một thời gian dài, nhóm kỹ thuật đã tiến hành kiểm tra xác minh tính nhất quán của dữ liệu để xem mọi thứ có suôn sẻ không

Một số quy trình điểm chuẩn đã được chạy để đánh giá hiệu suất DB và kết quả cho biết kích thước phiên bản MyRocks hóa ra là 3. Nhỏ hơn 5 lần so với phiên bản InnoDB không nén và nhỏ hơn 2 lần so với phiên bản InnoDB đã nén

WebScale SQL

MySQL là công nghệ bền bỉ phổ biến nhất từ ​​trước đến nay và được các ông lớn triển khai một cách tự nhiên

WebScale SQL là sự cộng tác giữa các kỹ sư từ một số công ty khác nhau như Google, Twitter, LinkedIn, Alibaba chạy MySQL trong quy mô sản xuất để xây dựng và nâng cao các tính năng MySQL cần thiết để chạy trong môi trường sản xuất quy mô lớn

Facebook có một trong những triển khai MySQL lớn nhất trên thế giới. Và nó chia sẻ một cơ sở mã phát triển SQL WebScale chung với các công ty khác

Nhóm kỹ thuật đang  Facebook đang chuẩn bị chuyển các phiên bản thử nghiệm sản xuất của thống kê bảng, người dùng và nén sang WebScaleSQL.


2. ĐáDB. Kho lưu trữ khóa-giá trị liên tục để lưu trữ Flash và RAM

Ban đầu, Facebook đã viết một kho lưu trữ khóa-giá trị liên tục có thể nhúng để lưu trữ nhanh có tên  RocksDB . Kho lưu trữ khóa-giá trị nào có một số lợi thế so với MySQL. RocksDB được lấy cảm hứng từ LevelDB, một kho lưu trữ dữ liệu do Google viết.

Nó chắc chắn là nhanh nhưng không hỗ trợ sao chép hoặc lớp SQL và nhóm kỹ thuật của Facebook muốn các tính năng MySQL đó trong RocksDB. Cuối cùng, họ đã xây dựng MyRocks, một dự án nguồn mở có RocksDB làm công cụ lưu trữ MySQL

RocksDB phù hợp nhất khi chúng ta cần lưu trữ nhiều terabyte dữ liệu trong một cơ sở dữ liệu duy nhất .

Một số trường hợp sử dụng điển hình cho RocksDB

1. Triển khai hàng đợi tin nhắn hỗ trợ một số lượng lớn các thao tác chèn và xóa.
2. Phát hiện thư rác khi bạn yêu cầu quyền truy cập nhanh vào tập dữ liệu của mình.
3. Truy vấn tìm kiếm biểu đồ cần quét tập dữ liệu trong thời gian thực.


3. Memcache – Một hệ thống bộ nhớ đệm phân tán

Memcache đang được Facebook sử dụng ngay từ đầu. Nó nằm phía trước cơ sở dữ liệu, hoạt động như một bộ đệm và chặn tất cả các yêu cầu dữ liệu đang hướng tới cơ sở dữ liệu

Memcache giúp giảm độ trễ yêu cầu ở mức độ lớn cuối cùng mang lại trải nghiệm người dùng mượt mà. Nó cũng cung cấp năng lượng cho biểu đồ xã hội Facebook có hàng nghìn tỷ đối tượng và kết nối, phát triển mọi lúc

Memcache là hệ thống bộ nhớ đệm phân tán được các ông lớn trong ngành như Google Cloud sử dụng.

Mô hình bộ nhớ đệm Facebook

Khi người dùng cập nhật giá trị của một đối tượng, giá trị mới sẽ được ghi vào cơ sở dữ liệu và giá trị cũ sẽ bị xóa khỏi Memcache. Lần tiếp theo người dùng yêu cầu đối tượng đó, giá trị cập nhật được lấy từ cơ sở dữ liệu và ghi vào Memcache. Bây giờ sau điều này cho mọi yêu cầu, giá trị được cung cấp từ Memcache cho đến khi nó được sửa đổi

Luồng này có vẻ khá ổn định cho đến khi cơ sở dữ liệu và bộ đệm được triển khai trong môi trường phân tán . Giờ đây, tính nhất quán cuối cùng sẽ có hiệu lực.

Các phiên bản của ứng dụng được phân phối theo địa lý. Khi một phiên bản của cơ sở dữ liệu phân tán được cập nhật, chẳng hạn như ở Châu Á, phải mất một lúc để các thay đổi được xếp tầng cho tất cả các phiên bản của cơ sở dữ liệu đang chạy trên toàn cầu.

Bây giờ ngay tại thời điểm giá trị của một đối tượng được cập nhật ở Châu Á, một người yêu cầu đối tượng đó ở Châu Mỹ sẽ nhận được giá trị cũ từ bộ đệm

Đây thường là sự đánh đổi giữa tính sẵn sàng cao và tính nhất quán của dữ liệu


4. Facebook quản lý BigData như thế nào?

4. 1 Apache Hadoop

Chà, điều này không có gì đáng ngạc nhiên, Facebook có một lượng dữ liệu khổng lồ tăng lên mọi lúc. Và họ có sẵn cơ sở hạ tầng để quản lý một đại dương dữ liệu như vậy

Đọc bài viết này về cách nhập dữ liệu  để hiểu lý do tại sao việc quản lý và hiểu lượng lớn dữ liệu lại cực kỳ quan trọng đối với doanh nghiệp.

Apache Hadoop là tiện ích nguồn mở lý tưởng để quản lý dữ liệu lớn và Facebook sử dụng nó để chạy phân tích, lưu trữ phân tán và lưu trữ các bản sao lưu cơ sở dữ liệu MySQL

Ngoài Hadoop, còn có các công cụ khác như Apache Hive, HBase và Apache Thrift được sử dụng để xử lý dữ liệu

Facebook đã mã nguồn mở các phiên bản chính xác của Hadoop mà họ chạy trong sản xuất. Họ có thể triển khai cụm Hadoop lớn nhất trên thế giới. xử lý khoảng. 2 petabyte dữ liệu mỗi ngày trong nhiều cụm tại các trung tâm dữ liệu khác nhau

Nếu bạn muốn hiểu cách các hệ thống phân tán được triển khai và mở rộng quy mô trên toàn cầu trong đám mây, cách các nút hoạt động cùng nhau trong một cụm, quy trình triển khai, cơ sở hạ tầng triển khai, các công nghệ liên quan, v.v., hãy xem Cloud Computing 101 – Master the Fundamentals course.

Tin nhắn trên Facebook sử dụng cơ sở dữ liệu phân tán có tên là Apache HBase để truyền dữ liệu đến các cụm Hadoop. Một trường hợp sử dụng khác là thu thập nhật ký hoạt động của người dùng theo thời gian thực trong các cụm Hadoop


4. 2 Triển khai Apache HBase tại Facebook

HBase là một cơ sở dữ liệu phân tán, mã nguồn mở, không liên quan về bản chất, lấy cảm hứng từ BigTable của Google. Nó được viết bằng Java

Thành phần nhắn tin trên Facebook ban đầu được sử dụng HBase, chạy trên HDFS. Nó được nhóm kỹ sư chọn do thông lượng ghi cao và độ trễ thấp mà nó cung cấp. Các tính năng khác, nó là một dự án phân tán, bao gồm khả năng mở rộng theo chiều ngang, tính nhất quán mạnh mẽ và tính sẵn sàng cao. Giờ đây, dịch vụ nhắn tin sử dụng RocksDB để lưu trữ tin nhắn của người dùng.

HBase cũng được sử dụng trong sản xuất bởi các dịch vụ khác như hệ thống giám sát nội bộ, lập chỉ mục tìm kiếm, phân tích dữ liệu trực tuyến và quét dữ liệu

MysqlFacebook
nguồn hình ảnh. Facebook

Di chuyển bộ lưu trữ messenger từ HBase sang RocksDB

Việc di chuyển cơ sở dữ liệu dịch vụ nhắn tin từ HBase sang RocksDB đã cho phép Facebook tận dụng bộ nhớ flash để gửi tin nhắn cho người dùng thay vì gửi tin nhắn từ đĩa cứng quay. Ngoài ra, cấu trúc liên kết sao chép của MySQL tương thích hơn với cách các trung tâm dữ liệu của Facebook hoạt động trong sản xuất. Điều này cho phép dịch vụ khả dụng hơn và có khả năng khắc phục thảm họa tốt hơn.


4. 3 Apache Cassandra – Một cửa hàng cột rộng phân tán

Apache Cassandra là một cửa hàng nhiều cột phân tán được xây dựng nội bộ tại Facebook cho hệ thống tìm kiếm Hộp thư đến. Cassandra được viết để quản lý dữ liệu có cấu trúc và mở rộng thành kích thước rất lớn trên nhiều máy chủ mà không có điểm lỗi nào.

Dự án chạy trên cơ sở hạ tầng gồm hàng trăm nút trải rộng trên nhiều trung tâm dữ liệu. Cassandra được xây dựng để duy trì trạng thái liên tục trong trường hợp lỗi nút. Các tính năng được phân phối như khả năng mở rộng, hiệu suất cao và tính khả dụng cao là vốn có


4. 4 Apache Hive – Kho dữ liệu, truy vấn & phân tích

Apache Hive  là dự án phần mềm kho dữ liệu được xây dựng dựa trên Hadoop để chạy truy vấn và phân tích dữ liệu.

Tại Facebook, nó được sử dụng để chạy phân tích dữ liệu trên hàng petabyte dữ liệu. Phân tích được sử dụng để hiểu rõ hơn về hành vi của người dùng, nó giúp viết các thành phần và dịch vụ mới, đồng thời hiểu hành vi của người dùng cho Mạng quảng cáo Facebook

Hive bên trong Facebook được sử dụng để chuyển đổi các truy vấn SQL thành một chuỗi các công việc thu nhỏ bản đồ, sau đó được thực thi trên Hadoop. Viết các giao diện có thể lập trình và triển khai các loại & định dạng dữ liệu phổ biến để lưu trữ siêu dữ liệu, v.v.


5. PrestoDB – Cơ sở dữ liệu quan hệ phân tán hiệu suất cao

PrestoDB là một trình diễn nguồn mở, RDBMS phân tán được viết chủ yếu để chạy các truy vấn SQL với số lượng lớn, như petabyte dữ liệu. Đó là một công cụ truy vấn SQL để chạy các truy vấn phân tích. Một truy vấn Presto duy nhất có thể kết hợp dữ liệu từ nhiều nguồn, cho phép phân tích trên toàn hệ thống của tổ chức

DB có một bộ khả năng phong phú cho phép các kỹ sư dữ liệu, nhà khoa học và nhà phân tích kinh doanh xử lý Tera đến Petabyte dữ liệu

Facebook sử dụng  PrestoDB  để xử lý dữ liệu thông qua khối lượng công việc đường ống hàng loạt lớn trong kho Hive của họ. Nó cũng giúp chạy các phân tích tùy chỉnh với độ trễ thấp và thông lượng cao. Dự án cũng đã được áp dụng bởi các ông lớn khác như Netflix, Walmart, Comcast, v.v.

Sơ đồ dưới đây cho thấy kiến ​​trúc hệ thống của Presto

MysqlFacebook
nguồn hình ảnh. Facebook

Máy khách gửi một truy vấn SQL đến điều phối viên Presto. Điều phối viên sau đó phân tích cú pháp, phân tích và lập kế hoạch thực hiện truy vấn. Bộ lập lịch giao công việc cho các nút nằm gần dữ liệu nhất và giám sát các quy trình

Dữ liệu sau đó được khách hàng lấy lại ở giai đoạn đầu ra để có kết quả. Toàn bộ hệ thống được viết bằng Java cho tốc độ. Ngoài ra, nó giúp dễ dàng tích hợp với phần còn lại của cơ sở hạ tầng dữ liệu vì chúng cũng được viết bằng Java

Trình kết nối Presto cũng được viết để kết nối với các nguồn dữ liệu khác nhau


6. Beringei. Công cụ lưu trữ chuỗi thời gian hiệu suất cao

Beringei là một công cụ lưu trữ chuỗi thời gian và là một thành phần của cơ sở hạ tầng giám sát tại Facebook. Cơ sở hạ tầng giám sát giúp phát hiện các vấn đề và sự bất thường khi chúng phát sinh trong thời gian thực

Facebook sử dụng công cụ lưu trữ để lưu trữ các phép đo hệ thống, chẳng hạn như số liệu thống kê về sản phẩm như số lượng tin nhắn được gửi mỗi phút, số liệu thống kê về dịch vụ, chẳng hạn như tỷ lệ truy vấn vào bộ đệm so với cơ sở dữ liệu MySQL. Ngoài ra, các số liệu thống kê hệ thống như sử dụng CPU, bộ nhớ và mạng

Tất cả dữ liệu đi vào công cụ lưu trữ chuỗi thời gian và có sẵn trên trang tổng quan để phân tích thêm. Lý tưởng nhất là trong ngành  Grafana được sử dụng để tạo trang tổng quan tùy chỉnh để chạy phân tích .


7. Con khỉ đột. Cơ sở dữ liệu chuỗi thời gian trong bộ nhớ

Gorilla là cơ sở dữ liệu chuỗi thời gian trong bộ nhớ của Facebook chủ yếu được sử dụng trong cơ sở hạ tầng giám sát và phân tích. Nó đủ thông minh để xử lý các lỗi từ một nút duy nhất đến toàn bộ khu vực mà không có hoặc ít chi phí hoạt động. Hình bên dưới cho thấy gorilla phù hợp như thế nào trong cơ sở hạ tầng phân tích

MysqlFacebook
nguồn hình ảnh

Kể từ khi triển khai, Gorilla đã tăng gần gấp đôi kích thước trong khoảng thời gian 18 tháng mà không cần nhiều nỗ lực vận hành, điều này cho thấy hệ thống có khả năng mở rộng khá tốt. Nó hoạt động như một bộ đệm ghi để theo dõi dữ liệu được thu thập trên tất cả các hệ thống của Facebook. Gorilla đã giảm độ trễ truy vấn sản xuất của Facebook hơn 70 lần so với các số liệu thống kê trước đó


8. nhật ký thiết bị. Một kho lưu trữ dữ liệu phân tán cho nhật ký

Nhật ký là cách chính để theo dõi các lỗi xảy ra trong quá trình sản xuất, chúng giúp hiểu được bối cảnh và viết bản sửa lỗi. Không hệ thống nào có thể chạy mà không có nhật ký. Và một hệ thống có kích thước như Facebook, nơi có rất nhiều thành phần được kết nối với nhau sẽ tạo ra một lượng nhật ký khổng lồ

Để lưu trữ và quản lý tất cả các nhật ký này, Facebook sử dụng kho lưu trữ dữ liệu phân tán cho các nhật ký có tên  LogDevice< . .

Đó là một hệ thống nhật ký phân tán có thể mở rộng và có khả năng chịu lỗi. So với hệ thống tệp lưu trữ dữ liệu dưới dạng tệp, LogDevice lưu trữ dữ liệu dưới dạng nhật ký. Nhật ký được định hướng theo bản ghi, chỉ nối thêm & có thể cắt bớt. Dự án đã được viết từ đầu để phục vụ nhiều loại nhật ký với độ tin cậy và hiệu quả cao trên quy mô lớn.

Loại khối lượng công việc được LogDevice hỗ trợ là ghi nhật ký sự kiện, xử lý luồng, quy trình đào tạo ML, ghi nhật ký giao dịch, máy trạng thái được sao chép, v.v.


9. Phần kết luận

Mọi người, đây là khá nhiều. Tôi đã nghiên cứu khá nhiều về lớp bền vững của Facebook và tôi tin rằng mình đã nắm được tất cả các cơ sở dữ liệu chính được triển khai tại Facebook

Ngoài ra, bài viết này sẽ được cập nhật liên tục khi hệ thống của Facebook phát triển. Dưới đây là một vài đề nghị đọc

Facebook vẫn sử dụng MySQL chứ?

MySQL là cơ sở dữ liệu chính được Facebook sử dụng để lưu trữ tất cả dữ liệu xã hội. Họ bắt đầu với công cụ cơ sở dữ liệu MySQL của InnoDB và sau đó viết MyRocksDB, công cụ này cuối cùng được sử dụng làm công cụ Cơ sở dữ liệu MySQL. Memcache nằm trước MySQL dưới dạng bộ đệm.

Meta có sử dụng MySQL không?

META là hộp công cụ để quản lý dữ liệu nghiên cứu trong cơ sở dữ liệu MySQL .

NASA có sử dụng MySQL không?

Việc sử dụng MySQL của NASA minh họa sức mạnh mà cơ sở dữ liệu có thể mang lại cho các ứng dụng dựa trên web. Nó cung cấp cho khách truy cập quyền truy cập vào dữ liệu của NASA và cơ hội sử dụng các công cụ nguồn mở do nhóm CNTT của tổ chức phát triển.

Facebook sử dụng SQL hay Nosql?

Facebook sử dụng phân nhánh của MySql 5. 6 để giữ dữ liệu biểu đồ xã hội và facebook messenger (hơn 1 tỷ người dùng). Họ sử dụng bộ lưu trữ Innodb cho biểu đồ xã hội (chỉ mục cây B+, đọc nhanh và ghi chậm) và bộ lưu trữ RocksDb cho dữ liệu messenger (chỉ mục cây LSM, ghi nhanh và đọc chậm).