Here are the notes I’ve made while watching a webinar about building applications with VoltDB.
What I like:
- it forces you to think upfront about data partitioning by specifying partitioned or replicated tables
- it forces you to think about data access patterns by asking to define the Java-based stored procedures
- it provides both a synchronous and asynchronous API
- there’s an option to run any queries in development mode
What I don’t like:
- you need to compile and deploy the schema, queries, etc.
- you have to define the cluster topology in an XML file
- everything is transactional
Let’s say you have
k-factor2 and a materialized view: an insert will put your data on the 3 servers and the materialized view within a single transaction.
- it’s not clear how you could evolve your schema
- the API doesn’t use timeouts