datasette.io
Bedrock
datasette.io | Bedrock | |
---|---|---|
6 | 23 | |
81 | 1,044 | |
- | 1.4% | |
8.0 | 9.4 | |
4 days ago | 6 days ago | |
HTML | C | |
- | GNU Lesser General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
datasette.io
-
Architecture Notes: Datasette
Opened an issue exploring alternatives here: https://github.com/simonw/datasette.io/issues/109
I decided to just drop "any size" but keep "any shape".
-
How to have git pushes auto-deploy to a remote server?
Here's an example from one of my projects: https://github.com/simonw/datasette.io/blob/main/.github/workflows/deploy.yml
-
Schema on write is better to live by
I've come around to almost the opposite approach.
I pull all of the data I can get my hands on (from Twitter, GitHub, Swarm, Apple Health, Pocket, Apple Photos and more) into SQLite database tables that match the schema of the system that they are imported from.
For my own personal Dogsheep (https://simonwillison.net/2020/Nov/14/personal-data-warehous...) that's 119 tables right now.
Then I use SQL queries against those tables to extract and combine data in ways that are useful to me.
If the schema of the systems I am importing from changes, I can update my queries to compensate for the change.
This protects me from having to solve for a standard schema up front - I take whatever those systems give me. But it lets me combine and search across all of the data from disparate systems essentially at runtime.
I even have a search engine for this, which is populated by SQL queries against the different source tables. You can see an example of how that works at https://github.com/simonw/datasette.io/blob/main/templates/d... - which powers the search interface at https://datasette.io/-/beta
-
Using sqlite3 as a notekeeping document graph
I've been exploring this technique more over the past year and I really like it - https://datasette.io (code at https://github.com/simonw/datasette.io ) is a more recent and much more complicated example.
Extracting links from markdown and using them to populate some additional columns or tables at build time would be pretty straight forward.
- Ask HN: What novel tools are you using to write web sites/apps?
-
What's New in SQLite 3.35
I run SQLite in serverless environments (Cloud Run, Vercel, Heroku) for dozens of projects... but the trick is that they all treat the database as a read-only asset.
If I want to deploy updated data, I build a brand new image and deploy the application bundled with the data. I tend to run the deploys for these (including the database build) in GitHub Actions workflows.
This works really well, but only for applications that don't need to apply constant updates more than a few times an hour! If you have a constant stream of updates I still think you're better off using a hosted database like Heroku PostgreSQL or Google Cloud SQL.
One example of a site I deploy like that is https://datasette.io/ - it's built and deployed by this GitHub Actions workflow here: https://github.com/simonw/datasette.io/blob/main/.github/wor...
Bedrock
-
Marmot: Multi-writer distributed SQLite based on NATS
Also Expensify's Bedrock, which powers their famous "Scaling SQLite to 4M QPS" article:
https://bedrockdb.com/
https://use.expensify.com/blog/scaling-sqlite-to-4m-qps-on-a...
- I'm All-In on Server-Side SQLite
-
SQLite is not a toy database
Lots of things don't need failover, but if you do, you can use Bedrock, which is built on sqlite.
-
Amazon announces 'Bedrock,' its ChatGPT and DALL-E rival
At first, I thought Amazon was launching their own SQLite hosted database.
BedrockDB is a SQLite based database with MySQL compatible drivers.
https://bedrockdb.com
-
Ask HN: Hunting for a Framework
Vapor[0] based on Swift. Advantage of this is that you don't have to evaluate multiple frameworks for Swift and suffer paralysis by analysis. All the Swift community is behind one framework.
The next is Actix[1] based on Rust. There are many frameworks in Rust and most of them have not reached 1.0 And which framework will survive becomes a question.
Other not so well-known is Wt[2] based on C++. This actually is created for programmers who are not web developers. The development experience is similar to desktop app development like Qt.
If that is not acceptable then Django[3], based on Python, is the one that will be good for you.
For the front-end I would recommend Flutter[4]. As much as I dislike getting tied to a single company for whom the framework is not their bread-and-butter, I don't see any other viable options to Flutter that will cover all web, mobile and desktop out of the box.
For databases, I would recommend BedrockDB[5], if you are not averse to SQLite. Or FoundationDB[6], if you want NoSQL. But if you are not concerned about horizontal scalability or okay with self-managing database availability, then PostgreSQL[7] is a very good option.
For push notifications, PushPin[8] is a good option.
[0] https://vapor.codes
[1] https://actix.rs
[2] https://webtoolkit.eu
[3] https://www.djangoproject.com
[4] https://flutter.dev
[5] https://bedrockdb.com
[6] https://www.foundationdb.org
[7] https://postgresql.org
[8] https://pushpin.org
-
Databases: 2021 in Review and Predictions for 2022
Recently I stumbled upon BedrockDB[0] from Expensify. It is based on SQLite and has very interesting idea on HA and distributed DB.
[0] https://bedrockdb.com
-
One million queries per second with MySQL
This is not SQLite though, also the test is trivial compared to TPC: https://github.com/Expensify/Bedrock/blob/dbarrett_perftest/...
-
Turning SQLite into a Distributed Database
Don’t forget BedrockDB (built on SQLite) that’s used in production at Expensify.
How it scales as well.
https://bedrockdb.com/
https://blog.expensify.com/2018/01/08/scaling-sqlite-to-4m-q...
- Fly.io Buys Litestream
- Ask HN: Have you used SQLite as a primary database?
What are some alternatives?
datasette - An open source multi-tool for exploring and publishing data
SQLite - Unofficial git mirror of SQLite sources (see link for build instructions)
gomodest - A complex SAAS starter kit using Go, the html/template package, and sprinkles of javascript.
MySQL - MySQL Server, the world's most popular open source database, and MySQL Cluster, a real-time, open source transactional database.
org-roam-server - A Web Application to Visualize the Org-Roam Database
rqlite - The lightweight, distributed relational database built on SQLite.
openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
ClickHouse - ClickHouse® is a free analytics DBMS for big data
headlessui - Completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.
LevelDB - LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
SvelteKit - web development, streamlined
Adminer - Database management in a single PHP file