Hướng dẫn difference mongodb and mysql - sự khác biệt mongodb và mysql
Tổng quan Cơ sở dữ liệu quan hệ đã là nền tảng của các ứng dụng doanh nghiệp trong nhiều thập kỷ, và kể từ khi phát hành của MySQL vào năm 1995, nó đã trở thành một lựa chọn phổ biến và không tốn kém, đặc biệt là một phần của nền tảng LAMP phổ biến để củng cố các ứng dụng web ban đầu. Ngày nay, các doanh nghiệp hiện đại đang nghĩ đến những cách tốt hơn để lưu trữ và quản lý dữ liệu - cho dù đó là để có được cái nhìn sâu sắc hơn về khách hàng, thích nghi với những thay đổi của người dùng hoặc đánh bại các đối thủ cạnh tranh với các ứng dụng và mô hình kinh doanh mới. Kết quả là nhiều giả định đã thúc đẩy sự phát triển của các cơ sở dữ liệu quan hệ trước đó đã thay đổi: Show
Kết quả là các cơ sở dữ liệu không liên quan hoặc "NoSQL", như MongoDB, đã xuất hiện để đáp ứng các yêu cầu của các ứng dụng mới và hiện đại hóa khối lượng công việc hiện tại. Hỗ trợ cho các giao dịch ACID nhiều tài liệu, được lên kế hoạch cho MongoDB 4.0 vào mùa hè năm 2018, sẽ làm cho các developers dễ dàng hơn trong việc giải quyết các trường hợp sử dụng hiện tại hoặc trong tương lai sẽ gặp khó khăn với MySQL. Bài viết này cung cấp tổng quan về MySQL và MongoDB, và các trường hợp sử dụng thích hợp cho mỗi trường hợp. 1. MySQL là gì?MySQL là một hệ quản lý cơ sở dữ liệu quan hệ mã nguồn mở phổ biến (RDBMS) được phát triển, phân phối và hỗ trợ bởi Oracle Corporation. Giống như các hệ thống quan hệ khác, MySQL lưu trữ dữ liệu trong bảng và sử dụng ngôn ngữ truy vấn có cấu trúc (SQL) để truy cập cơ sở dữ liệu. Trong MySQL, bạn định nghĩa sơ đồ cơ sở dữ liệu của bạn dựa trên yêu cầu của bạn và thiết lập các quy tắc để điều chỉnh mối quan hệ giữa các trường trong bảng của bạn. Bất kỳ thay đổi nào trong lược đồ đòi hỏi một thủ tục chuyển đổi có thể làm cho cơ sở dữ liệu ngoại tuyến hoặc giảm đáng kể hiệu suất ứng dụng. 2. MongoDB là gì?MongoDB là một cơ sở dữ liệu nguồn mở, không quan hệ được phát triển bởi MongoDB, Inc MongoDB lưu trữ dữ liệu dưới dạng các tài liệu trong một biểu diễn nhị phân được gọi là BSON (Binary JSON). Thông tin liên quan được lưu trữ cùng nhau để truy cập truy vấn nhanh thông qua ngôn ngữ truy vấn MongoDB. Các trường có thể khác nhau từ tài liệu này sang tài liệu khác; không cần khai báo cấu trúc của tài liệu vào hệ thống - các tài liệu tự mô tả. Nếu một lĩnh vực mới cần phải được thêm vào một tài liệu, sau đó lĩnh vực này có thể được tạo ra mà không ảnh hưởng đến tất cả các tài liệu khác trong collection, mà không cần cập nhật một danh mục hệ thống trung ương, và không cần dùng hệ thống ngoại tuyến. Theo tùy chọn, tính hợp lệ của lược đồ có thể được sử dụng để thực thi kiểm soát quản trị dữ liệu đối với mỗi collection. Mô hình dữ liệu tài liệu của MongoDB ánh xạ tự nhiên đến các đối tượng trong mã ứng dụng, làm cho các developers dễ dàng tìm hiểu và sử dụng. Tài liệu cung cấp cho bạn khả năng đại diện cho các mối quan hệ phân cấp để lưu trữ các mảng và các cấu trúc phức tạp khác một cách dễ dàng. Các trình điều khiển nguyên bản, thông dụng được cung cấp cho 10 ngôn ngữ - cho phép truy vấn ngẫu nhiên, tập hợp theo thời gian thực và lập chỉ mục phong phú để cung cấp các cách lập trình mạnh mẽ để truy cập và phân tích dữ liệu của bất kỳ cấu trúc nào. Bởi vì các tài liệu có thể kết hợp các dữ liệu có liên quan mà có thể được mô phỏng trên các bảng con-cha-con riêng biệt trong một lược đồ quan hệ, các hoạt động tài liệu nguyên tử của MongoDB đã cung cấp ngữ nghĩa giao dịch đáp ứng nhu cầu toàn vẹn dữ liệu của phần lớn các ứng dụng. Một hoặc nhiều trường có thể được viết bằng một thao tác đơn, bao gồm cập nhật cho nhiều tài liệu con và các phần tử của một mảng. Các bảo đảm được cung cấp bởi MongoDB đảm bảo sự cô lập hoàn toàn khi một tài liệu được cập nhật; bất kỳ lỗi nào làm cho thao tác quay trở lại để khách hàng nhận được chế độ xem thống nhất của tài liệu. Không giống như MySQL và các cơ sở dữ liệu quan hệ khác, MongoDB được xây dựng trên kiến trúc hệ thống phân tán chứ không phải là một thiết kế đơn khối, đơn node. Kết quả là, MongoDB cung cấp out-of-the-box quy mô-ra và địa hoá dữ liệu với sharding tự động, và bản sao bộ để duy trì luôn sẵn có. 3. Thuật ngữ và khái niệmNhiều khái niệm trong MySQL có các khái niệm tương tự gần nhau trong MongoDB. Bảng dưới đây phác thảo các khái niệm chung trên MySQL và MongoDB.
4. So sánh tính năngGiống như MySQL, MongoDB cung cấp nhiều tính năng và chức năng vượt xa những tính năng được cung cấp bởi các kho dữ liệu NoSQL đơn giản. MongoDB có một ngôn ngữ truy vấn phong phú, các chỉ mục phụ có chức năng cao (bao gồm tìm kiếm văn bản và không gian địa lý), một khung kết hợp mạnh mẽ để phân tích dữ liệu, tìm kiếm nhiều mặt, xử lý biểu đồ và hơn thế nữa. Với MongoDB bạn cũng có thể sử dụng các tính năng này trên các loại dữ liệu đa dạng hơn là cơ sở dữ liệu quan hệ và bạn có thể thực hiện nó theo quy mô.
RowDocument
Các ACID transaction được lên kế hoạch cho MongoDB 4.0 *4. So sánh tính năng Giống như MySQL, MongoDB cung cấp nhiều tính năng và chức năng vượt xa những tính năng được cung cấp bởi các kho dữ liệu NoSQL đơn giản. MongoDB có một ngôn ngữ truy vấn phong phú, các chỉ mục phụ có chức năng cao (bao gồm tìm kiếm văn bản và không gian địa lý), một khung kết hợp mạnh mẽ để phân tích dữ liệu, tìm kiếm nhiều mặt, xử lý biểu đồ và hơn thế nữa. Với MongoDB bạn cũng có thể sử dụng các tính năng này trên các loại dữ liệu đa dạng hơn là cơ sở dữ liệu quan hệ và bạn có thể thực hiện nó theo quy mô.NoSQL Data Store Open source YesNo
Đó là vì những lý do mà MySQL, và các cơ sở dữ liệu quan hệ khác, đã thêm hỗ trợ cho JSON. Tuy nhiên, đơn giản chỉ cần thêm một kiểu dữ liệu JSON không mang lại lợi ích về năng suất cho các nhà phát triển của một cơ sở dữ liệu tài liệu cho MySQL. Tại sao? Bởi vì cách tiếp cận của MySQL có thể làm giảm năng suất của nhà phát triển, thay vì cải thiện nó. Xem xét những điều sau đây:
Tham khảo: https://www.mongodb.com/compare/mongodb-mysql https://hackernoon.com/mongodb-vs-mysql-comparison-which-database-is-better-e714b699c38b |