Applications serve as hubs where raw data can be captured and stored on databases. The application programming interfaces (APIs) that came with these applications automated the processes of extracting meaningful information from the data. However, this method had a high cost and various limitations, including security and data governance.
These issues led data experts to find a solution in data-centric architecture. This architecture would enable data ownership, security, and control within the data, thereby making it valuable and versatile. It would enable portability, integration, and analysis without affecting the quality of the data along the entire value chain.
Data centricity is aimed at making data exist independent of any application while still serving a pool of stakeholders. Industries are working together to manage and share data in an integrative and collaborative manner.
These approaches include data-driven business applications, data fabrics, and data marketplaces among others. Fluree, a database blockchain platform, was founded in 2016 by Platz and Flip Filipowski to fill the gap.
Fluree is a data management technology built on a data-centric architecture to improve the role of traditional databases by introducing trust, semantic context, and security. It solves the problem of data integration with its platform that allows educational institutions, developers, startups, and enterprises to create a unified and immutable data set to run and scale their applications. It uses a queryable data store optimized for various applications.
Fluree is a web 3.0 solution for managing data created on the Blockchain. It enables the verification and quality of the data while ensuring data integrity, aiding secure data sharing, and running connected data insights with its open-source semantic graph database. The database organizes the data, thereby creating a foundational layer for connected, trusted, and intelligent data ecosystems.
Fluree also uses distributed ledger technology (DLT) to create a permissioned blockchain that gives all the data their immutability. This immutability makes the data auditable and traceable. The combination of the graph database, DLT, and semantic technology is used to make a knowledge database.
This database can be queried with non-proprietary query languages SPARQL, GraphQL, and Fluree’s internal language FlureeQL. The database is powered by the interoperability of the RDF and W3C standards. These standards give it machine-readable capabilities and an enhanced query power with nodes, edges, and properties to interpret and manage data.
Fluree features a Fluree Partner Network (FPN) which is directed towards building a web 3.0 ecosystem using Fluree technology through ISVs, SIs, and VARs. Fluree is being used in supply chain management, credentials and identity, MRO, insurance, and real estate among others. It is also being used by data-centric businesses and web 3.0 start-ups in establishing collaboration within and without the industry, enhancing the digital transformation of existing systems, and building new data-centric products.
Fluree supports data-first development on its platform, enabling easy to test, build, and scale projects. It has numerous APIs and libraries for Javascript and Node.js. Start-ups, government units, and large businesses are testing and deploying Fluree nodes. Fluree features ACID-guaranteed transactions, public/private key cryptography, partition-friendly across multiple ledgers, scalable edge data delivery network, and agnostic cloud/server.
The Data-Centric Architecture of Fluree
The architecture of Fluree is made up of blockchain features, enterprise database capabilities, and semantic standards that aid interoperability, trust, security, and accessible data. It is powered by a simple and light java runtime for deployment. Its modular stack can be used to deploy full-stack applications. This is because it has different servers for the state ledger and the graph database.
Fluree comprises two interfaces: the immutable permissioned blockchain that is resistant to data tampering (FlureeDL), and the semantic graph database optimized to host applications on the FlureeDL (FlureeDB). The two operate independently but both use the SmartFunctions to implement custom read/write permissions and rules.
Transactions are bundled into unalterable time-stamped blocks. These blocks are then locked using advanced cryptography to ensure their security and integrity. Authorized users get access through a private-public key infrastructure. APIs are not involved in granting permissions on Fluree; rather, the permissions are embedded on the data tier. It can be configured to only be accessible to people with certain security clearance and roles.
FlureeDL is a programmable ledger that validates transactions using several checkpoints. Transactions are checked using the schema rules contained in the SmartFunctions and each transaction hash is thoroughly checked against previous transactions to avoid duplication. Any update added to a block contains the hash of the previous block and its Secure Hash Algorithm SHA3-256.
A part or the entire application data can be audited and decentralized at any point in history with programmable rules and specific consensus mechanisms for smart governance. Also, companies can put their data in different sections on multiple FlureeDL blockchains. Governance rules and consensus properties vary from a data section to another. This variation allows FlureeDB to easily query data sections so far it has access to them, retrieving results as a unified data set.
FlureeDL produces queried data using the W3C standardized RDF format. This format enables structured and semi-structured data to be combined and shared across various applications and databases. Fluree supports SQL, GraphQL, SPARQL, and JSON-based FlureeQL for querying data. FlureeDB CNA process complex analytical aggregations and graph queries. It does not require an inbuilt API permission layer as its permission logic is embedded directly into the data as metadata.
The RDF-graph database engine allows for sophisticated graph queries, W3C standards for semantic queries across RDF repositories,.and linear scalability as a content delivery network. SmartFunctions embed permission logic directly at the data layer, giving the network a singular and scalable data security model, direct and trusted data sharing with third parties, data-centric identity and access management, and governance-as-code.
With the FPN, the enterprise adoption of Fluree is expanding. It is supported by most of the cloud infrastructure platforms, including Amazon Web Services, Google Cloud Platform, and Microsoft Azure. Storj Labs and Zeeve are some of the ISVs in the FPN. Fluree has also entered into partnerships with SIs that offer technical and sales enablement, flexible go-to-market models, and resources to accelerate the adoption of Fluree. Smashing Boxes, Sofocle Technologies, Semantic Arts, Codete, SSB Digital, and Envision Blockchain are some of the participants of the FPN.
Deploying Fluree Node
There are two ways to work with Fluree, either by using Fluree On-Demand or Fluree Anywhere. Fluree can either be deployed locally or via a cloud platform. Deploying the Fluree node occurs in three phases- crawl, walk and run.
Crawl involves getting started with Fluree Anywhere, the walk phase has to do with growing the system; adding more query servers, and creating a React or NodeJS app to communicate with the ledger, and run involves scaling out; building a server cluster, or creating multiple ledgers.
Deploying Fluree with the help of Fluree node deployment guide on a local level means you are using your data center or server(s) while deploying on a cloud platform means you are using a third party to deploy and scale Fluree. On a local level, you do not need to install anything else if you have Docker Desktop. You can run Fluree on it and once it is set up, you can visit http://localhost:8090 to see the admin interface. However, java jdk >= 11 can be used instead by following the instructions and installing Fluree from the download.
After you’ve customized the admin interface and created and query data, the next thing to do is develop an app to connect to Fluree. This step is followed by creating a cluster of ledger servers.
To deploy Fluree on a cloud platform, you need to set up a space in the cloud (AWS or Digital Ocean). When this is done, you can go ahead to install java jdk >= 11 and download and install Fluree or install Docker. In the second step, the ledger server is added behind a load balancer or a proxy to direct web traffic to it. Additionally, Node.js query servers can be added. You can then create a cluster of ledger servers.
Zeeve is a blockchain-based cloud management platform that provides intuitive dashboards to accommodate all your Fluree deployment needs. It enables network health and uptime using DevOps to provide in-depth analytics for both the Blockchain and cloud resources. It can be used to deploy a hybrid cloud network for Fluree nodes aiding compliance and control. Zeeve is compatible with several cloud providers, including AWS, Azure, GCP, IBM, and Digital Ocean and on-premise deployment. Users can either run the Blockchain nodes on a single cloud or use Zeeve’s multi-cloud deployments on different cloud infrastructures.
Zeeve uses alerts and notifications to provide timely analytics, summary, and insights of Fluree nodes and networks. The GUI-based options of Zeeve can be employed to easily configure the network. Users can deploy their Fluree network in Dev, Ledger, or Read modes. It provides comprehensive configurations, with different fluree database modes. Also, it enables changing transactor group configuration, base, API, and decentralized ledger settings.
Fluree is built around data ownership and control. It supports data integrity and traceability. Fluree represents a combination of elements that enables data integration and virtualization. For more information about the Fluree node deployment, call our team!