integresql
hash-db
integresql | hash-db | |
---|---|---|
5 | 5 | |
715 | 50 | |
4.3% | - | |
8.9 | 0.0 | |
4 months ago | over 1 year ago | |
Go | Python | |
MIT License | - |
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.
integresql
-
Mock unit test an API that uses postgres or integration test API with a "test" database?
For the case of PostgreSQL I've found IntegreSQL and its Javascript client really helpful because it can create a copy of the database per test case, which it helps to write integration tests with real DB calls.
-
Mocking database calls without a library?
Mocking has some advantages, but so does using a real database, at work we use https://github.com/allaboutapps/integresql and I quite like the approach that integresql has, since it makes possible to have a fresh database with your dummy data for every test without impacting the execution speed (compared to dropping an re-creating the database).
-
Ask HN: How do you test SQL?
Happy to hear that! When it comes to testing services that depend on PostgreSQL, this is still my preferred solution.
https://github.com/allaboutapps/integresql
disclaimer: author
- IntegreSQL – isolated PostgreSQL databases for integration tests
-
Pg_tmp – Run tests on an isolated, temporary PostgreSQL database
I haven't had a change to try it yet, but IntegreSQL[0] looks like this on steroids. It allows you to create a template (runs migrations and seed dates), and then uses Postgres's built in cloning functionality to maintain a pool of fresh databases. They claim 500ms to clone a database without the pool, and that the pool pretty much hides the latency entirely.
[0]: https://github.com/allaboutapps/integresql
hash-db
-
CRDT-richtext: Rust implementation of Peritext and Fugue
https://github.com/samsquire/hash-db
I need to combine the ideas in each of these projects into a cohesive solution.
I did some work on trying to implement the YATA algorithm, poorly.
-
Ask HN: How do you test SQL?
From an SQL database implementation perspective, in my toy Python barebones SQL database that barely supports inner joins (https://github.com/samsquire/hash-db) I tested by testing on postgresql and seeing if my query with two joins produces the same results.
I ought to produce unit tests that prove that tuples from each join operation produces the correct dataset.
For a user perspective, I guess you could write some tooling that loads example data into a database and does an incremental join with each part of the join statement added.
-
Bullshit Graph Database Performance Benchmarks
I wrote a toy dynamodb, SQL, Cypher graph and document storage database engine in Python for the learning.
https://github.com/samsquire/hash-db
- Experimental distributed keyvalue database (it uses python dictionaries) imitating dynamodb querying with join only SQL support, distributed joins and simple Cypher graph support
-
How necessary are the programming fundamentals?
I am interested in database internals. Btrees come up with regard to designing database systems that are efficient to query on disk. Postgres uses them for its indexes. Radix trees are memory efficient tries which are useful for answering prefix queries. They're also called prefix trees. I use them to get a list of prefixes of a string. Useful for simple intellisense style forms or dynamodb style querying. I've also been studying LSM trees which are used in Leveldb and RocksDB.
I experiment with database technology in my experimental project hash-db https://github.com/samsquire/hash-db The code should be readable.
I need to change my search tree to be self balancing currently it grows to the left or right without balancing. I think I need to use tree rotation depending on which branch has the highest height.
What are some alternatives?
flyway-spawn-demo - CI demo using Flyway and Spawn
electric - Local-first sync layer for web and mobile apps. Build reactive, realtime, local-first apps directly on Postgres.
otj-pg-embedded - Java embedded PostgreSQL component for testing
kuzu - Embeddable property graph database management system built for query speed and scalability. Implements Cypher.
testcontainers-go - Testcontainers for Go is a Go package that makes it simple to create and clean up container-based dependencies for automated integration/smoke tests. The clean, easy-to-use API enables developers to programmatically define containers that should be run as part of a test and clean up those resources when the test is done.
dbt-unit-testing - This dbt package contains macros to support unit testing that can be (re)used across dbt projects.
spawn-demo - Demo application to show how Spawn can be integrated in Development and CI
ustore - Multi-Modal Database replacing MongoDB, Neo4J, and Elastic with 1 faster ACID solution, with NetworkX and Pandas interfaces, and bindings for C 99, C++ 17, Python 3, Java, GoLang 🗄️
entr - Run arbitrary commands when files change
pg_crdt - POC CRDT support in Postgres
localstripe - A fake but stateful Stripe server that you can run locally, for testing purposes.
data-diff - Compare tables within or across databases