Hướng dẫn data science with mongodb - khoa học dữ liệu với mongodb

Trước khi chúng tôi khởi động bài đăng này, đây là một vài tài nguyên mongo nhanh chóng. Nếu bạn có một dự án và đang cố gắng tìm một giải pháp BI cho dữ liệu Mongo của bạn, hãy xem trang phân tích MongoDB của chúng tôi, nơi bạn có thể bắt đầu một thử nghiệm Knowi. Bạn cũng có thể thiết lập một cuộc gọi 15 phút với một thành viên trong nhóm của chúng tôi để xem liệu biết có thể là một giải pháp BI tốt cho dự án của bạn không.

Nội dung chính

  • Giới thiệu
  • Ưu điểm của cơ sở dữ liệu SQL
  • Ưu điểm của MongoDB
  • Phân tích: Cơ sở dữ liệu SQL so với MongoDB
  • Điều gì sẽ xảy ra nếu tôi cần phải làm phân tích trên MongoDB?
  • Giải pháp của chúng tôi
  • Sự kết luận
  • Bạn muốn xem làm thế nào biết có thể giúp đỡ?
  • Đăng ký tại đây để có bản demo 15 phút, nơi chúng tôi sẽ tìm hiểu thêm về trường hợp sử dụng của bạn và đề xuất một vài tính năng có thể phù hợp với những gì bạn đang cố gắng thực hiện.
  • MongoDB có thể được sử dụng để phân tích dữ liệu không?
  • Cơ sở dữ liệu nào là tốt nhất để phân tích dữ liệu?
  • Loại dữ liệu nào là MongoDB tốt cho?
  • SQL hoặc NoQuery có tốt hơn cho phân tích không?

tl;dr

Đối với những người không có thời gian để đọc toàn bộ bài viết, ở đây, một người quá dài; Didn lồng đọc bản tóm tắt:

  • Cơ sở dữ liệu NoQuery như MongoDB mang lại lợi ích vượt trội khi xử lý dữ liệu lớn qua SQL vì các yêu cầu lược đồ linh hoạt của chúng
  • Tuy nhiên, cơ sở dữ liệu SQL đã được hầu hết các nhà quản lý dữ liệu yêu thích để phân tích dữ liệu. Đặc biệt là vì hầu hết các công cụ BI (ví dụ: Looker) sẽ không cho phép bạn truy vấn cơ sở dữ liệu NoQuery.
  • Tuy nhiên, mọi người thường cần phân tích trên dữ liệu MongoDB.
  • Trong lịch sử, người ta thường sao chép dữ liệu MongoDB thành cơ sở dữ liệu SQL để phân tích bằng cách sử dụng một quy trình như ETL. Các công ty như Fivetran và Lyftron làm điều này. Thực tiễn này có hiệu quả nhưng tốn kém và đòi hỏi rất nhiều cơ sở hạ tầng bổ sung.
  • Một thực tiễn tốt nhất mới đang nổi lên trong không gian này mang đến cho các nhà phân tích tốt nhất của cả hai thế giới - thực hiện phân tích MongoDB bản địa với các công cụ BI như thế giới mà chúng ta đã tạo ra tại Knowi.

Giới thiệu

Ưu điểm của cơ sở dữ liệu SQL

Ưu điểm của MongoDB

Phân tích: Cơ sở dữ liệu SQL so với MongoDB

Hướng dẫn data science with mongodb - khoa học dữ liệu với mongodb

Điều gì sẽ xảy ra nếu tôi cần phải làm phân tích trên MongoDB?

Ưu điểm của cơ sở dữ liệu SQL

Ưu điểm của MongoDBstructured databases consisting of normalized data tables which are related to each other by keys (ID fields) and may be queried using SQL, a structured query language that is nearly syntactically identical across various RDBMS providers.

Phân tích: Cơ sở dữ liệu SQL so với MongoDB

  1. Điều gì sẽ xảy ra nếu tôi cần phải làm phân tích trên MongoDB? – this makes them perfectly suited for applications like financial data, which should be highly normalized, consistent and clean.
  2. Giải pháp của chúng tôi – since relational data is typically highly normalized, storage is not wasted on duplicated data.
  3. Truy xuất dữ liệu rất dễ dàng - với SQL như một giao diện truy vấn rộng, linh hoạt, là tiêu chuẩn giữa các nhà cung cấp, thật dễ dàng để truy vấn, chuyển đổi và tham gia dữ liệu từ các bảng quan hệ. – with SQL as a flexible, extensive query interface that is standard across suppliers, it is easy to query, transform, and join data from relational tables.

Ưu điểm của MongoDB

Mặt khác, cơ sở dữ liệu NoQuery về cơ bản là bất kỳ cơ sở dữ liệu nào không theo cấu trúc cơ sở dữ liệu quan hệ. Cụ thể, các cơ sở dữ liệu NoQuery dựa trên tài liệu như MongoDB bao gồm một loạt các tài liệu, từ đó chứa các đối tượng dữ liệu JSON với các cấu trúc dữ liệu lồng nhau có khả năng là aren nhất thiết phải nhất quán giữa các đối tượng. MongoDB là một trong những cơ sở dữ liệu NoQuery phổ biến nhất và được sử dụng bởi hàng triệu nhà phát triển. MongoDB có lợi thế nào so với cơ sở dữ liệu quan hệ truyền thống? databases, on the other hand, are essentially any databases that don’t follow a relational database structure. In particular, document-based NoSQL databases like MongoDB consist of a series of documents which in turn contain JSON data objects with potentially deep nested data structures that aren’t necessarily consistent across objects. MongoDB is one of the most popular NoSQL databases and is used by millions of developers. What advantages does MongoDB have over a traditional relational database?

  1. Các lược đồ rất linh hoạt - vì MongoDB sử dụng các đối tượng JSON để lưu trữ dữ liệu, một thực thể có thể chứa các trường lồng nhau dài, phức tạp và các trường khác nhau có thể được ghi lại cho các trường hợp đối tượng khác nhau. – since MongoDB uses JSON objects to store data, an entity can contain lengthy, complex nested fields and different fields may be captured for different object instances.
  2. Tốc độ - Lập chỉ mục trên cấu trúc tài liệu này thường cung cấp truy cập dữ liệu nhanh hơn nhiều so với điển hình của cơ sở dữ liệu quan hệ. – indexing on this document structure generally provides much quicker data access than is typical of relational databases.
  3. Khả năng mở rộng - MongoDB được xây dựng để xử lý dữ liệu lớn một cách hiệu quả bằng cách phân vùng cơ sở dữ liệu thành các mảnh vỡ. – MongoDB is built to handle big data efficiently by partitioning the database into shards.

Don Tiết giống như anh chàng này và làm phân tích trên máy tính bảng. Nhưng xin vui lòng giống như anh chàng này khi chọn ra tất 🙂

Phân tích: Cơ sở dữ liệu SQL so với MongoDB

Làm thế nào để hai loại cơ sở dữ liệu này so sánh khi nói đến phân tích dữ liệu? Như chúng tôi đã ám chỉ trước đó, phân tích thường được xem là lãnh thổ cơ sở dữ liệu SQL (ví dụ: MySQL & NBSP; Báo cáo và Phân tích). Bởi vì SQL rất linh hoạt, các nhà phân tích có thể truy xuất, lọc, tham gia và tổng hợp dữ liệu quan hệ một cách dễ dàng. Do đó, trực quan hóa và báo cáo về dữ liệu quan hệ cũng xuất hiện một cách tự nhiên.

Tuy nhiên, phân tích trên cơ sở dữ liệu NoQuery là một lĩnh vực ít phát triển hơn (phù hợp với cơ sở dữ liệu NoQuery là một lĩnh vực trẻ hơn nói chung). Mặc dù khả năng tồn tại, quy trình tạo truy vấn thường được coi là ít sạch hơn so với đối tác SQL, một phần do tính chất ít có cấu trúc của cơ sở dữ liệu NoQuery. Ví dụ, việc tham gia trên các bảng trên mạng, trong lịch sử đã không được hỗ trợ cho các phân tích cơ sở dữ liệu NoQuery. Hơn nữa, ngôn ngữ truy vấn không nhất quán trên cơ sở dữ liệu NoQuery theo cách SQL nhất quán trên các cơ sở dữ liệu quan hệ.

Điều gì sẽ xảy ra nếu tôi cần phải làm phân tích trên MongoDB?

Vì vậy, có vẻ như cơ sở dữ liệu SQL tốt hơn cho phân tích. Nhưng tất nhiên có nhiều cân nhắc khác khi chọn cách lưu trữ dữ liệu của bạn, vì vậy có thể bạn chọn MongoDB cho lược đồ linh hoạt, mặc dù bạn vẫn sẽ cần phải phân tích trên dữ liệu của mình. Hoặc có thể bạn không nên chọn - công ty của bạn đã sử dụng cơ sở dữ liệu MongoDB và bạn cần phân tích dữ liệu của mình. Các lựa chọn của bạn cho phân tích trong trường hợp này là gì?

Một tùy chọn là sao chép dữ liệu MongoDB của bạn trong cơ sở dữ liệu SQL, sau đó sử dụng phiên bản quan hệ của dữ liệu để phân tích. Nhiều người đi theo con đường này ban đầu. Điều này cung cấp cho bạn tất cả các lợi thế của việc thực hiện phân tích trên cơ sở dữ liệu SQL và bạn thậm chí có thể thực hiện các phân tích gần thời gian thực, tùy thuộc vào quy trình ETL mà công ty của bạn đang sử dụng để sao chép dữ liệu từ MongoDB sang cơ sở dữ liệu SQL. Một số công ty như Holistic đang làm tốt công việc trong lĩnh vực này. Những người khác như Fivetran hoàn toàn dựa trên việc giúp các công ty chuyển dữ liệu của họ vào kho dữ liệu (ví dụ: Bông tuyết) cho mục đích này. Tuy nhiên, nhược điểm của phương pháp này là nó đòi hỏi các tài nguyên phần cứng bổ sung, cấu hình tẻ nhạt của quy trình ETL và duy trì một môi trường hoàn toàn mới. Do đó, công việc của một nhà phân tích dữ liệu được mở rộng để yêu cầu hỗ trợ từ một số nhóm mới, bao gồm các kiến ​​trúc sư dữ liệu và kỹ sư dữ liệu. Người ta thường chia sẻ dữ liệu đến cơ sở dữ liệu được sao chép từ kho dữ liệu MongoDB ban đầu, nhưng nếu bạn không phải làm thì sao?

Một số công ty như Dremio đang cố gắng giải quyết vấn đề này bằng cách xây dựng một hệ thống dịch thuật cho phép bạn đưa vào các truy vấn SQL và dịch chúng thành một truy vấn MongoDB. Điều này là tuyệt vời để loại bỏ sự cần thiết của ETL nhưng gặp vấn đề khi chúng ta đang cố gắng thực hiện những việc như tham gia cơ sở dữ liệu chéo.

Mặt khác, tại Knowi, chúng tôi đang thực hiện một cách tiếp cận hoàn toàn mới. Hãy đọc cho nước sốt bí mật của chúng tôi để thực hiện phân tích thời gian thực trên MongoDB.

Giải pháp Knowi: Tích hợp gốc để chạy phân tích MongoDB

Giải pháp của chúng tôi

Tại Knowi, chúng tôi đã phát triển một cái gì đó hoàn toàn khác để giải quyết vấn đề này. Nước sốt bí mật của chúng tôi đã được xây dựng trên ảo hóa dữ liệu.

Chúng tôi kết nối trực tiếp với MongoDB nhưng cung cấp giao diện người dùng cấp cao cho người dùng để tạo truy vấn và thao tác dữ liệu. Bạn có thể nghĩ về nó như là ảo hóa dữ liệu trên steroid. Người dùng xây dựng các truy vấn với phần mềm điểm và nhấp vào hoặc bằng cách sử dụng các truy vấn MongoDB gốc. Sau đó, người dùng có thể điều khiển dữ liệu bằng ngôn ngữ dựa trên SQL có tên là Cloud9QL. Tất cả điều này được thực hiện trong thời gian thực trên ví dụ Live MongoDB, do đó, không cần phải quản lý quy trình ETL để chia sẻ và lưu trữ dữ liệu trong cơ sở dữ liệu SQL. Nói cách khác, khách hàng biết có thể sử dụng ứng dụng để lọc, tham gia và thực hiện tổng hợp trên dữ liệu thời gian thực từ MongoDB giống như khách hàng sẽ làm với cơ sở dữ liệu SQL, nhưng không thực sự sử dụng cơ sở dữ liệu SQL.

Chúng tôi đã tiến thêm một bước và tích hợp đầy đủ chức năng truy vấn MongoDB này vào nền tảng trí tuệ kinh doanh của chúng tôi, vì vậy người dùng có thể thực hiện liền mạch phân tích dữ liệu thời gian thực, khoa học dữ liệu và trực quan hóa dữ liệu trên dữ liệu MongoDB. Điều này có nghĩa là công ty của bạn có thể đi từ MongoDB sang ứng dụng Business Intelligence chỉ trong vài lần nhấp.

Rõ ràng, chúng tôi thích giải pháp của chúng tôi nhất, nhưng có rất nhiều nhà cung cấp giải pháp tốt ngoài kia đưa ra những cách sáng tạo để có được phân tích ở quy mô trên MongoDB và bạn nên chọn một loại phù hợp với doanh nghiệp của bạn.

Với Knowi, bạn có thể xây dựng bảng điều khiển phân tích MongoDB và có được các khả năng phân tích mà bạn mong đợi từ các bộ dữ liệu có cấu trúc truyền thống

Sự kết luận

Trong môi trường dữ liệu hiện đại, năng động, chúng tôi liên tục bắt buộc phải thực hiện phân tích dữ liệu và khoa học dữ liệu về nhiều loại cơ sở dữ liệu khác nhau. Một số trong số này là dễ dàng để phân tích hơn những người khác. MongoDB không phải là cơ sở dữ liệu đầu tiên và won là cơ sở dữ liệu cuối cùng gây nhầm lẫn khi nói đến phân tích. May mắn thay, có rất nhiều công ty sáng tạo tuyệt vời ngoài kia đang cố gắng giải quyết vấn đề nan giải này bằng cách tiêu chuẩn hóa và hợp lý hóa quá trình phân tích trên các nguồn dữ liệu khác nhau. Chúng tôi biết là một trong số ít chơi trong lĩnh vực này. Bất kể bạn chọn giải pháp nào, bạn không còn phải lựa chọn giữa MongoDB và Analytics, bạn có thể có cả hai.

Bạn muốn xem làm thế nào biết có thể giúp đỡ?

Đăng ký tại đây để có bản demo 15 phút, nơi chúng tôi sẽ tìm hiểu thêm về trường hợp sử dụng của bạn và đề xuất một vài tính năng có thể phù hợp với những gì bạn đang cố gắng thực hiện.

MongoDB có thể được sử dụng để phân tích dữ liệu không?

MongoDB cung cấp các tính năng truy vấn mạnh mẽ để truy xuất nhanh và phân tích dữ liệu lớn, và lược đồ linh hoạt của nó làm cho nó trở thành một lựa chọn tự nhiên cho các bộ dữ liệu phi cấu trúc. Bằng cách kết nối MongoDB và R, chúng ta có thể thực hiện phân tích dữ liệu nâng cao ngay lập tức bằng cách sử dụng đường ống tổng hợp MongoDB.By connecting MongoDB and R, we can perform advanced data analytics in no time using the MongoDB aggregation pipeline.By connecting MongoDB and R, we can perform advanced data analytics in no time using the MongoDB aggregation pipeline.

Cơ sở dữ liệu nào là tốt nhất để phân tích dữ liệu?

Cơ sở dữ liệu Oracle là một trong những cơ sở dữ liệu được sử dụng rộng rãi nhất trong ngành vì chúng hỗ trợ tất cả các loại dữ liệu liên quan đến thông tin quan hệ, đồ thị, cấu trúc và không có cấu trúc và do đó được coi là một trong những cơ sở dữ liệu tốt nhất có sẵn trên thị trường. is among the most widely used databases in the industry as they support all data types involving Relational, Graph, Structured, and Unstructured information and is hence considered to be one of the best databases available in the market. is among the most widely used databases in the industry as they support all data types involving Relational, Graph, Structured, and Unstructured information and is hence considered to be one of the best databases available in the market.

Loại dữ liệu nào là MongoDB tốt cho?

MongoDB được xây dựng trên một kiến trúc mở rộng đã trở nên phổ biến với các nhà phát triển các loại để phát triển các ứng dụng có thể mở rộng với các lược đồ dữ liệu phát triển.Là một cơ sở dữ liệu tài liệu, MongoDB giúp các nhà phát triển dễ dàng lưu trữ dữ liệu có cấu trúc hoặc không cấu trúc.Nó sử dụng định dạng giống JSON để lưu trữ tài liệu.structured or unstructured data. It uses a JSON-like format to store documents.structured or unstructured data. It uses a JSON-like format to store documents.

SQL hoặc NoQuery có tốt hơn cho phân tích không?

NoQuery dường như hoạt động tốt hơn trên cả dữ liệu phi cấu trúc và không liên quan.Các giải pháp tốt hơn là cơ sở dữ liệu chéo có các yếu tố của cả NoQuery và SQL.RDBMS sử dụng SQL là định hướng lược đồ, điều đó có nghĩa là cấu trúc của dữ liệu nên được biết trước để đảm bảo rằng dữ liệu tuân thủ lược đồ.. The better solutions are the crossover databases that have elements of both NoSQL and SQL. RDBMSs that use SQL are schema–oriented which means the structure of the data should be known in advance to ensure that the data adheres to the schema.. The better solutions are the crossover databases that have elements of both NoSQL and SQL. RDBMSs that use SQL are schema–oriented which means the structure of the data should be known in advance to ensure that the data adheres to the schema.