-
Notifications
You must be signed in to change notification settings - Fork 49
When to use Sirius
#Conciderations for using Sirius In order to help evaluate the Sirius library for use in your application, we have compiled a list of conciderations that should be helpful in your evaluation.
If you can answer yes to the following questions Sirius may be a good fit for your application: (Answering no to one of more of these questions may indicate that Sirius is not a good fit)
- Will your application utilize a distributed data store?
- Will your application requre high performance reads from the datastore?
- Will your application require key-value storage?
- Will your application run inside a JVM?
- Will your application implement in-memory storage?
- Will your application need a simple interface to the datastore?
- Will your application perform many reads for each write?
- Will your application tolerate eventual consistency of the datastore?
If you can answer yes to the following questions Sirius may be a better fit for your application vs. similar libraries: (Each yes answer indicates and even better fit, while a no answer may not indicate anything in particular)
- Will your application have multiple types of data that need to be stored?
- Will your application have nodes that may be unavailable for short periods of time?
- Will your application benefit from having all the data replicated to all the nodes of the cluster?
We are not aware of a good test that will tell you which library is the best for your application in a quick, easy and infallible way. The questions above are meant to be just guidelines. Especially the second set of questions, as they may not be relevant to your application. For example, you are evaluating Sirius for an application that deals with large amounts of homogeneous data (i.e. all the data is the same type of data). Because Sirius can support different types of data, as long as it can be represented as an array of bytes, answering no to that question should not be concidered a negative for evaluating Sirius. Sirius just provides flexibility and functionality you will not be using in your application. Some of the conciderations, on the other hand, are definite indicators that Sirius is not a good fit for the application. For example the inability for your application to tolerate any stale reads, would be a large contra-indication that Sirius is the right tool for your application.
Copyright 2013-2017 Comcast Cable Communications Management, LLC
Using Sirius
Getting started with Sirius
Configuring Sirius
How to Deploy Sirius
Reference Applications
Migrations and Release Notes
Migration Guide 1.1.x to 1.2.x
Release Notes 2.0.0
Migration Guide 1.2.x to 2.0.x
Developing Sirius
Getting Started
Contributing Guildelines
License
Releasing Sirius
Scaladocs
Test Timeout Failures
Transaction Log
Implementation
Live Compaction
waltool
Other