IceFireDB - Building global database infrastructure #
Based on cutting-edge computer science, the IceFireDB project integrates new ideas and research in the fields of message passing, event instruction processing, data consistency and replication, decentralized network, reliable data storage, high-performance network framework, etc.The team of researchers and engineers at IceFireDB combines the cutting-edge ideas from distributed systems and concurrent databases. These ideas combine collision-free replication data types (CRDT) and decentralized appendix-only logs, which can be used to simulate the variable sharing state between peers in P2P applications to create a new data infrastructure with high security, high performance and low latency.
The core of IceFireDB architecture is geographically distributed event source and decentralized Log source, with log-level CRDT replication.In order to realize the consistency of replication, IceFireDB provides a stable decentralized networking model, which allows the combination of public networks among different sites. Multiple IceFireDB nodes can be run inside each site, and RAFT network can be formed between nodes, which ensures the data consistency and stable storage within the same site.
Concurrent change conflict handling #
Different from the final consistent database, IceFireDB manages changes at the atomic level and merges data changes made through the network. It maintains a single version of data through CRDT, IPFS-LOG and status convergence engine, and maintains the incremental model of decentralized instructions by building the icefiredb-log library, which meets the broadcast and data sequence consistency of decentralized database logs.
The technical use of CRDT and IPFS-LOG is implicit. IceFireDB exposes the conventional Redis, SQL database and API to users by integrating the decentralized technology and functions with RESP and SQL protocol servers.
Adaptive consistency #
IceFireDB data network responds to data reading and updating requests, while maintaining a consistent data view in the world. IceFireDB network can effectively improve the delay and flexibly expand to meet the needs of applications.
Non-inductive data coordination #
IceFireDB allows all locations to read and write local data in parallel, and does not require users to know which data should be placed in which location, or require users to redesign the architecture every time they need to add or delete locations.
Distributed multi-model database #
IceFireDB supports a variety of data models, mainly supporting NoSQL and SQL data scenarios. Store, query and modify data in the form of NoSQL and SQL on our multi-master architecture. Respond to read and update requests with local latency, while maintaining a consistent view of global fast data.