Here at Tagged, we are big believers in using technologies that help us maximize our time and efforts, and when our team identifies a gap in these technologies we encourage them to build their own solutions. And so Stig was born.
Stig is a new, non-relational, distributed-graph database being developed here at Tagged. Currently, developing large-scale web apps is a long and tedious process as programmers have to worry about too many details unrelated to their immediate goal. Stig’s job is to eliminate the tedium and help the programmer to work more quickly to produce higher-quality results. Stig makes it easy for programmers to store and access data in a way that makes sense, while still being fast and scalable.
And we’re all about sharing. Stig will be a completely open-source database, available to anyone for free.
Let’s get nitty-gritty; what makes Stig so cool?
It’s a graph!
Stig isn’t a bunch of tables trying to be a graph – Stig actually IS a graph! It stores data in nodes, but also stores the connections between data as edges between nodes. In other words, while it’s a “non-relational” database due to the set theory definition of a relation, Stig’s data storage is all about how data relate to each other. Stig not only knows who your friends and colleagues are, but it can understand how you know them – and how they know THEIR friends and colleagues. Whether you want to do a Kevin Bacon computation or a friends-of-friends collection, Stig is built for social networking.
Functional query language
Stig has its own native language that is flexible and powerful, but it can also emulate SQL and other paradigms. Some people are worried about using non-relational databases because they are perceived as being difficult to program for and it’s always easier to stick with what we know. It can be hard make these to changes – just like it’s hard to move to another country and immediately speak the local tongue – so Stig is happy to let you talk to it in SQL. And just like you might be able to make a better order at a foreign restaurant once you speak the local language, you can be much more powerful and effective in Stig once you can speak to it directly.
Points of view
Stig has a unique way of dealing with causality, being a distributed system with many machines inserting, querying and storing data. Distributed systems can’t rely on a standard time scheme – think about how difficult it is to get 100 people to all set their watches to the same exact time, and then imagine that for tens of thousands of computers, requiring even more precise calibration. Instead, Stig queries know about their predecessors, so causality is a graph as well. It doesn’t matter exactly when something happens, but as long as we can tell that Event A happened before the items that depend on Event A happened, then everything is fine.
Why should you use Stig?
In theory, anyone who has data and wants to store it in a database could use Stig –ignoring the more robust features and treating it like any other database. However, Stig takes things to another level in the following use cases:
- Anything involving graph computation, social networks and/or websites where you have a lot of people or things connected to each other and you want to take advantage of those connections.
- High volume problems where you need to store more data and need your system to be easily scalable (Stig is shared and replicated, so adding machines is very easy).
- Real-time systems where you can benefit from asynchronous inserts, updates and queries. Stig allows for different points of view, private or shared, and data propagates outward without stopping the entire system every time there’s an update.
We are debuting Stig at the NoSQL Now conference! We’d love to see you there but if you can’t make it, sign up for more info over at our official StigDB site - http://stigdb.org/.