KEY FEATURES
Outstanding performance for Virtual Machine (VM)
Index64 is between 2 and 10 times faster than any other key-value store, while keeping the data ordered. This outstanding performance is the consequence of multiple innovations and smart implementations.
More specifically Index64:
- Includes specific methods to unleash Virtual Machine performances
- Takes full advantage of multi-core power by re-inventing a lock-free access method to data
- Invents data-management algorithms
- Creates a smart data structure allowing shortcuts for some operations
- Optimizes code for targeted assembler operations on Intel processors
- Redesigns data exchanges at a processor level for an optimal cache management
For more details about the benchmark, please consult our report: Index64-benchmark-report.pdf
Ordered Data
- Data are sorted a priori, allowing sorted requests to be performed efficiently, in one shot only
- Intervals are obtained without using a by-side dedicated structure
- Intervals are given without going through the whole data set. Complexity of O(log(N) + n) – N is the table size, n is the interval size
- The maths set operations, such as union, intersection or difference, are coded in a much more readable fashion
- Join operations are easily coded, allowing many inclusive successive joins to be done efficiently
Synchronous and asynchronous API
- All the current functions, such as select, insert, update, delete, CAS, scan are available in synchronous and asynchronous mode allowing all kinds of implementations, performance and features
- If you already experimented what is hell whereas you were programming asynchronous calls with one of our competitor’s product, please have a look at the way we implemented it (Documentation.pdf). Simple is beautiful dude!
Pipelining
- Pipelining is a technology that allows compact data exchange with the server, thus increasing performance as soon as several successive requests are involved
- StartPipelining() ….. StopPipelining(); … That’s it
High availability
- “High availability” in the current context is three-fold: automatic recovery, fault tolerance and scalability. These features are more and more often natively included within the VM host system. Index64 profits from these advanced features, developed by system experts, in a transparent and reliable way.
Connectors
- Index64 has been written in C++ for performance reason.
- A few connectors will be made available in the near future to make the KV-store server available for other environments. The first connector will be performed for Java.
- Other connectors, such as C#, Python or Ruby, might be developed on demand (between 20 and 40 man-days).
Additional feature
- A performant SQL-like GROUP BY command, equivalent of : SELECT COUNT(*) FROM “index” GROUP BY “criteria”, will be developed. Unlike for classical SQL DBMS, this command will be possible to execute on continuously updated data, even for so-called fast-data type of environments.