Announcing Graphite - Our New Cloud Graph Database Technology
I am very excited to announce Graphite, our serverless graph database technology, which we developed with one of our clients and can now share with you. In fact, we’re so excited about this technology, we’re shifting our focus to helping clients leverage it.
We will continue to provide a broad range of development services for our clients. This includes:
- Backend development in Ruby, Python, and Node.
- Web client development, including frameworks like React and Vue.
- Cloud infrastructure, especially for Amazon Web Services, with a focus on serverless and HTTP APIs.
That said, Graphite is special for us. Graph databases are useful for solving a range of interesting problems, from social networks to dependency management to customer analytics. However, in practice, performance of graph databases tends to degrade for a variety of reasons. These are almost entirely related to processing limitations of a given machine.
Graphite effectively bypasses those limitations by taking advantage of the design of DynamoDB and Lambda. We can process complex graph queries on massive graphs, scenarios that graph databases take hours to process, and return a result in a few hundred milliseconds or, at worst, a few seconds, depending on how we index the edges. Queries are mapped across hundreds, or potentially thousands, of Lambdas running in parallel. Data is stored in a distributed datastore that can be globally replicated. All without the need to deploy, manage, or monitor even a single server.
In addition, we can wrap your graph database in a set of convenient, high-level APIs that can be accessed using clients written in any language that supports HTTP requests. We do not currently support any graph query languages, like Cypher, GQL, or Gremlin although this is on our roadmap. Instead, we can create HTTP endpoints that encapsulate specific queries. We recommend prototyping your graph and queries using a conventional graph database that supports a query language. We can use the prototype as the basis for a Graphite implementation. Your client applications use the HTTP API, just like they would any other.
If you think Graphite can help you with your graph database challenges, please let us know. We’ll be happy to schedule a call and learn more about your requirements.