-
Notifications
You must be signed in to change notification settings - Fork 387
sql: Removing sqlite btree from tarantool
Alexey Khatskevich edited this page Sep 7, 2017
·
1 revision
We store main data in the tarantool engine (memtx), but there are also ephemeral tables, which are used to perform intermediate calculations (such as sort, distinct, join...). These calculations are performed using sqlite native btree structure. There are several reasons why do we want to get rid of sqlite native btree:
- Maintain two code bases (tarantool trees and sqlite trees)
- Maintain two api bases (there are many engine-specific crutches in sqlite) ...
The idea is that we implement new temp engine which does not persist and does not support transactions. Implementation is the following: creative copy-paste from memtx.
- It gives the ability to create secondary indexes in tables of that kind.
- It will allow us to use space api for both: temp tables and ordinary tables.
- We can reuse this space for other cases.?
- It will not use disc cache for temp tables in comparison to sqlite's btree.
- It is relatively hard to implement (we will have to create and maintain a new space).
- We have to implement secondary indexes on our own
- We will have to perform requests in temp and ordinary tables in different ways
- C coding guidelines ↗
- Lua coding guidelines ↗
- Python coding guidelines ↗
- Maintainer's guide
- Debugging
Architecture
- Server architecture
- R tree index quick start and usage
- LuaJIT
- Vinyl
- Vinyl Architecture
- Vinyl Disk Layout
- Vinyl math
- Vinyl Cookbook
- Bullet1
- SQL
- Appserver modules
- Testing
- Performance
- Privileges and Access control
How To ...?
- ... configure build system
- ... add new fuzzers
- ... build RPM or Deb package using packpack
- ... calculate memory size
- ... debug core dump of stripped tarantool
- ... debug core from different OS
- ... debug fuzzer
- ... generate new bootstrap snapshot
- ... use Address Sanitizer
- ... collect a coredump
- ... generate luacov report for builtin module
- ... verify modified lua files via luacheck
- ... verify Lua files in third_party?
- ... rerun failed jobs
- ... update a third party repository
- Fix wrong decimal indexing after upgrade to 2.10.1
- Caveats when upgrading a cluster on Tarantool 1.6
- Fix illegal field type in a space format when upgrading to 2.10.4
Useful links