changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > org > blog / draft/a-lispy-database.org

changeset 20: 889759cafcc2
parent: d77884ec2b44
child: 1204cefcfd28
author: Richard Westhaver <ellis@rwest.io>
date: Thu, 06 Jun 2024 23:15:38 -0400
permissions: -rw-r--r--
description: style update
1 #+title: A Lispy Database
2 #+options: toc:t h:1
3 #+setupfile: ../../../clean.theme
4 One of the key features missing in the =core= is a DBMS. The first,
5 and often only choice for this need in companies of today is
6 a SQL RDBMS.
7 
8 There are client-server systems like PostgreSQL and MySQL, and
9 embedded offerings like SQLite. Whatever lang you use you can count on
10 there being SQL support[fn:1]. To support all the different SQL
11 flavors though, a new abstraction has been summoned - the ORM.
12 
13 The ORM maps the object system of your lang to SQL tables, columns and
14 rows and provides an API for you to manipulate the database in a more
15 idiomatic way.
16 
17 You might ask yourself, why choose anything else? For good reason. We
18 all know friendly neighborhood SQL and understand it. Many of us have
19 never used anything else because we don't /need/ to. You can represent
20 fairly complex relationships in the RDBMS model and have an
21 ecosystem that supports it wherever you go.
22 
23 My answer is that just because SQL is good enough, doesn't mean it's
24 always the best choice.
25 
26 [fn:1]