{"repo":"sonhmai/how-sqlite-works","free":true,"listed":false,"github":"https://github.com/sonhmai/how-sqlite-works","clone":"git clone https://github.com/sonhmai/how-sqlite-works.git","description":"A Book about how SQLite works. Rewriting SQLite in Rust for Learning and Fun and writing a book I wished I had when started.","language":"Rust","stars":29,"topics":["rust","sqlite","apache-arrow","arrow-datafusion","database","query-engine"],"license":"MIT","category":"databases-storage","readme_excerpt":"rust-sqlite Rewriting SQLite in Rust for learning and for fun, then writing a book I wished I had on the journey. 1. Getting Started Run the book on localhost Testing Sample.db schema - apples: id integer primary key, name text, color text - oranges: id integer primary key, name text, description text 3. Known Limitations Schema - sqlparser-rs and datafusion seems not having knowledge re primary key and auto-increment. Parsing DDL which has id integer primary key autoincrement lost knowledge of primary key autoincrement . Data types - Arrow supports Utf8 only. Sqlite has Text in (UTF-8, UTF-16BE or UTF-16LE) so only utf8 is supported. 4. References This was inspired by these references - CodeCrafters SQLite programming challenge, please pay them a visit. - SQLite detailed documentation. Readings 1. Paper - Architecture of a Database System (2007). Overview of important components to relational database systems. 2. Book - SQLite Database System Design and Implementation, Sibsankar Haldar (2016). 3. Article - Series: What would SQLite look like if written in Rust? Projects - https://github.com/datafuselabs - Apache OpenDAL - GrepTimeDB - rqlite, A lightweight, distributed relational database built on SQLite in Golang - Limbo, an in-process OLTP with async io database management system, compatible with SQLite. - Apache Arrow DataFusion. - Let's Build a Simple Database","default_branch":null,"files":null,"tree":[],"storefront":"/r/sonhmai","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/sonhmai/how-sqlite-works/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}