1 #+title: A Lispy Database
3 #+setupfile: ../../clean.theme
5 One of the key features missing in the Compiler Company
[[https://vc.compiler.company/comp/core][core]] is a
6 reliable
[[https://en.wikipedia.org/wiki/Category:Database_management_systems][DBMS]]. It's something that I've worked towards in Rust, and
7 now in Common Lisp, but haven't gotten to a production-ready state.
9 The first, and often
/only/ choice for this need in companies of
12 The SQL ecosystem has client-server systems like PostgreSQL, and
13 embedded offerings like SQLite. Whatever lang you use you can
14 basically always count on there being SQL support for your DB needs.
16 You might ask yourself, why choose anything else? We all know friendly
17 neighborhood SQL and understand it. Many of us have never used
18 anything else because we
/don't need to/. You can represent fairly
19 complex relationships in the RDBMS model and have an ecosystem that
20 supports it wherever you go.
22 My answer is simply - just because SQL is good enough, doesn't mean
23 it's always the best choice. It is designed for Table-oriented data
24 and that is where it should remain according to the CC.
30 - [[https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping][ORM]] 31 The ORM maps the object system of your lang to SQL tables, columns and
32 rows and provides an API for you to manipulate the database in a more