Nguồn cấp dữ liệu MultiChain để tích hợp cơ sở dữ liệu Trí tuệ dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Nguồn cấp dữ liệu MultiChain cho tích hợp cơ sở dữ liệu

Đưa dữ liệu ra khỏi blockchain và vào thế giới rộng lớn hơn

Với lần phát hành công khai đầu tiên của MultiChain vào năm 2015, chúng tôi đã nhận thấy sự quan tâm đến các ứng dụng blockchain theo một hướng đáng ngạc nhiên. Mặc dù ban đầu chúng tôi thiết kế MultiChain để cho phép phát hành, chuyển nhượng và lưu ký tài sản kỹ thuật số nhưng ngày càng có nhiều người dùng quan tâm đến việc sử dụng nó cho các ứng dụng định hướng dữ liệu.

Trong những trường hợp sử dụng này, mục đích của blockchain là cho phép lưu trữ và truy xuất thông tin có mục đích chung, không cần mang tính chất tài chính. Động lực của việc sử dụng blockchain thay vì cơ sở dữ liệu thông thường là để tránh dựa vào một trung gian đáng tin cậy để lưu trữ và duy trì cơ sở dữ liệu đó. Vì lý do thương mại, quy định hoặc chính trị, người dùng cơ sở dữ liệu muốn đây là trách nhiệm phân tán chứ không phải tập trung.

Sự phát triển của dòng chảy

Để đáp lại phản hồi này, năm 2016 chúng tôi giới thiệu Các luồng MultiChain, cung cấp sự trừu tượng hóa đơn giản cho việc lưu trữ, lập chỉ mục và truy xuất dữ liệu chung trên blockchain. Một chuỗi có thể chứa bất kỳ số luồng nào, mỗi luồng có thể bị hạn chế ghi bởi một số địa chỉ nhất định. Mỗi mục luồng được gắn thẻ theo địa chỉ của nhà xuất bản cũng như một khóa tùy chọn để truy xuất trong tương lai. Mỗi nút có thể quyết định độc lập xem có đăng ký từng luồng hay không, lập chỉ mục các mục của nó trong thời gian thực để truy xuất nhanh theo khóa, nhà xuất bản, thời gian, khối hoặc vị trí. Các luồng đã ngay lập tức gây ấn tượng với người dùng MultiChain và khiến nó trở nên khác biệt mạnh mẽ so với các nền tảng blockchain doanh nghiệp khác.

Năm 2017, các luồng đã gia tăng để hỗ trợ văn bản JSON và Unicode gốc, nhiều khóa cho mỗi mục và nhiều mục cho mỗi giao dịch. Thay đổi cuối cùng này cho phép hơn 10,000 mục dữ liệu riêng lẻ được xuất bản mỗi giây trên phần cứng cao cấp. Sau đó vào năm 2018, chúng tôi đã bổ sung tính năng hỗ trợ liền mạch cho dữ liệu ngoài chuỗi, trong đó chỉ một phần băm của một số dữ liệu được xuất bản trên chuỗi và chính dữ liệu đó sẽ được phân phối ngoài chuỗi cho các nút muốn có dữ liệu đó. Và cuối năm đó chúng tôi đã phát hành Cộng đồng MultiChain 2.0 với Bộ lọc thông minh, cho phép mã JavaScript tùy chỉnh thực hiện xác thực tùy ý các mục trong luồng.

Trong năm 2019, trọng tâm của chúng tôi đã chuyển sang MultiChain 2.0 Enterprise, phiên bản thương mại của MultiChain dành cho khách hàng lớn hơn. đầu tiên Bản trình diễn doanh nghiệp tận dụng dữ liệu ngoài chuỗi trong các luồng để cho phép cấp phép đọc, phân phối dữ liệu được mã hóa cũng như truy xuất và xóa có chọn lọc các mục riêng lẻ. Như mọi khi, sự phức tạp tiềm ẩn ẩn sau một bộ API đơn giản liên quan đến quyền và các mục luồng. Với các luồng, mục tiêu của chúng tôi luôn là giúp các nhà phát triển tập trung vào dữ liệu ứng dụng của họ và không phải lo lắng về việc blockchain chạy ngầm.

Vấn đề nan giải về cơ sở dữ liệu

Khi các luồng MultiChain tiếp tục phát triển, chúng tôi luôn phải đối mặt với một tình thế tiến thoái lưỡng nan. Để đọc và phân tích dữ liệu trong luồng, MultiChain có nên đi theo con đường trở thành cơ sở dữ liệu chính thức không? Nó có nên cung cấp tính năng lập chỉ mục trường JSON, truy vấn được tối ưu hóa và báo cáo nâng cao không? Nếu vậy, nên sử dụng mô hình cơ sở dữ liệu nào – quan hệ (như MySQL hoặc SQL Server), NoSQL (MongoDB hoặc Cassandra), tìm kiếm (Elastic hoặc Solr), chuỗi thời gian (InfluxDB) hoặc trong bộ nhớ (SAP HANA)? Rốt cuộc, có những trường hợp sử dụng blockchain phù hợp với từng cách tiếp cận đó.

Một tùy chọn mà chúng tôi đã cân nhắc là sử dụng cơ sở dữ liệu bên ngoài làm kho lưu trữ dữ liệu chính của MultiChain, thay vì kết hợp hiện tại giữa LevelDB nhúng và tệp nhị phân. Chiến lược này đã được thông qua bởi Chuỗi lõi (ngưng), Chuỗi hậu kỳ (chưa công khai) và có sẵn Như là một lựa chọn trong vải Hyperledger. Nhưng cuối cùng chúng tôi quyết định không sử dụng phương pháp này vì những rủi ro khi phụ thuộc vào quy trình bên ngoài. Bạn thực sự không muốn nút blockchain của mình bị đóng băng vì nó mất kết nối cơ sở dữ liệu hoặc do ai đó đang chạy một truy vấn phức tạp trên kho dữ liệu của nó.

Một yếu tố khác cần xem xét là thuyết bất khả tri về công nghệ và tích hợp. Trong mạng blockchain trải rộng trên nhiều tổ chức, mỗi người tham gia sẽ có sở thích riêng về công nghệ cơ sở dữ liệu. Họ sẽ có sẵn các ứng dụng, công cụ và quy trình làm việc được xây dựng trên nền tảng phù hợp với nhu cầu của họ. Vì vậy, khi chọn bất kỳ cơ sở dữ liệu cụ thể nào hoặc thậm chí đưa ra một vài tùy chọn, cuối cùng chúng tôi sẽ khiến một số người dùng không hài lòng. Giống như mỗi người tham gia blockchain có thể chạy nút của họ trên nhiều phiên bản Linux khác nhau, họ sẽ có thể tích hợp với cơ sở dữ liệu mà họ lựa chọn.

Giới thiệu nguồn cấp dữ liệu MultiChain

Hôm nay, chúng tôi rất vui mừng được giới thiệu phương pháp tích hợp cơ sở dữ liệu của mình – Nguồn cấp dữ liệu MultiChain. Nguồn cấp dữ liệu là nhật ký nhị phân trên đĩa theo thời gian thực về các sự kiện liên quan đến một hoặc nhiều luồng blockchain, để các quy trình bên ngoài đọc. Chúng tôi cũng đang cung cấp nguồn mở Bộ chuyển đổi nguồn cấp dữ liệu đa chuỗi có thể đọc nguồn cấp dữ liệu và tự động sao chép nội dung của nó sang cơ sở dữ liệu Postgres, MySQL hoặc MongoDB (hoặc nhiều nội dung cùng một lúc). Bộ điều hợp được viết bằng Python và có giấy phép tự do nên có thể dễ dàng sửa đổi để hỗ trợ cơ sở dữ liệu bổ sung hoặc thêm tính năng lọc và chuyển đổi dữ liệu. (Chúng tôi cũng đã ghi lại định dạng tệp nguồn cấp dữ liệu dành cho những ai muốn viết trình phân tích cú pháp bằng ngôn ngữ khác.)

Sơ đồ nguồn cấp dữ liệu MultiChain

Một nút không cần phải đăng ký một luồng để sao chép các sự kiện của nó vào nguồn cấp dữ liệu. Điều này cho phép bỏ qua hoàn toàn việc lập chỉ mục luồng tích hợp của MultiChain, để tiết kiệm thời gian và dung lượng ổ đĩa. Nguồn cấp dữ liệu cũng phản ánh việc truy xuất và xóa dữ liệu ngoài chuỗi, đồng thời có thể báo cáo về sự xuất hiện của các khối mới trên chuỗi. Để tiết kiệm dung lượng ổ đĩa, bạn có thể kiểm soát chính xác sự kiện nào được ghi vào nguồn cấp dữ liệu và trường nào được ghi lại cho từng sự kiện đó. Ngoài ra, các tệp nguồn cấp dữ liệu được luân chuyển hàng ngày và có lệnh thanh lọc đơn giản để xóa tệp sau khi xử lý.

Tại sao nguồn cấp dữ liệu MultiChain được ghi vào đĩa thay vì được truyền trực tuyến giữa các quy trình hoặc qua mạng? Bởi vì chúng tôi muốn chúng hoạt động như một nhật ký sao chép cực kỳ đáng tin cậy, có khả năng phục hồi sau thời gian ngừng hoạt động của cơ sở dữ liệu, sự cố hệ thống, mất điện, v.v. Bằng cách sử dụng tệp đĩa, chúng tôi có thể đảm bảo độ bền và cho phép cơ sở dữ liệu đích được cập nhật không đồng bộ. Nếu vì lý do nào đó, cơ sở dữ liệu này bị quá tải hoặc bị ngắt kết nối, MultiChain có thể tiếp tục hoạt động mà không bị gián đoạn và cơ sở dữ liệu sẽ hoạt động trở lại sau khi mọi thứ trở lại bình thường.

Bắt đầu với Nguồn cấp dữ liệu

Nguồn cấp dữ liệu được tích hợp vào bản demo/beta mới nhất của MultiChain Enterprise. sẵn để tải về Hiện nay. Hãy bắt đầu bằng cách đọc tài liệu về Bộ chuyển đổi nguồn cấp dữ liệu đa chuỗi, hoặc xem xét API liên quan đến nguồn cấp dữ liệu. Chúng tôi cũng thích nghe phản hồi của bạn về tính năng này và cách chúng tôi có thể mở rộng nó trong tương lai.

Với việc phát hành nguồn cấp dữ liệu, phiên bản 2.0 của MultiChain Enterprise hiện đã hoàn thiện tính năng – xem Tải về và cài đặt trang để so sánh đầy đủ giữa phiên bản Cộng đồng và Doanh nghiệp. Trong vài tháng tới, chúng tôi sẽ hoàn tất quá trình thử nghiệm và tối ưu hóa, đồng thời dự kiến ​​nó sẽ sẵn sàng đưa vào sản xuất vào khoảng cuối Quý 1. Trong thời gian chờ đợi, để biết thông tin về cấp phép hoặc giá cả của MultiChain Enterprise, vui lòng liên hệ liên lạc.

Xin vui lòng gửi bất kỳ ý kiến trên LinkedIn.

Nguồn: https://www.multichain.com/blog/2020/02/multichain-feeds-for-database-integration/

Dấu thời gian:

Thêm từ Đa sắc