Hacker Newsnew | past | comments | ask | show | jobs | submit | vvern's commentslogin

Do SurrealDB next

I think surrealdb is actually nice, just a bit missmanaged

How are folks doing CI on tangled?


With "spindles", apparently: https://blog.tangled.org/spindle-microvm/


Lot of new buzzwords learned today.


lol, true! Even for a single side project, that probably no one is gonna use, I often struggle for hours while choosing a name, meanwhile these folks...


That's the advantage of picking a theme. So the project is called tangled. So everything is string/web themed. Knots, spindles, bobbins, etc


Reminds me of this as well https://github.com/gsaslis/greek-names-in-software :)

Axios, Argo (CD), Kubernetes, Prometheus are all greek names


Now I want to see benchmarks


Notably missing both Go and Rust


Absolutely, I am planning to add these 2 as well as C# by June. Working on it now.


Do you have a newsletter or how should we know when C# will be available?


Why does clean room even matter given SQLite is in the public domain?


And in every training corpus many times over.


Still, I think it’s the right default to start with serializable. Then when you have performance issues you can think long and hard about whether relaxed isolation levels will work in a big free way. Better to start with a correct application.


Starting with serializable is not free, there is a coding cost to pay to handle all the concurrency errors.


Sybase SQLAnywhere implements (or at least did) strict serialization by taking an exclusive row lock on all rows... which you can imagine scales horribly for a table with a reasonable row count.

I found out the hard way at work. I had assumed it took an exclusive lock on the table level only, the documentation didn't really spell out the details of how it enforced the serialized access.

I changed it to a retry loop which worked fine and was fairly easy to implement all things considered. Not gonna reach for strict serialization again unless I have to.


About time for the 6th Edition, eh? What would folks include in it?

- Vector databases and hybrid search?

- Object storage for all the things? Lake houses. Parquet and beyond.

- Continuously materialized views? I'm not sure this one has made the splash but I think about Naiad (Materialize) and Noria (Readyset)

- NewSQL went mostly mainstream (Spanner wasn't included in the last one, but there's been more here with things like CockroachDB, TiDB, etc)


The object storage stuff is new, but it's mostly confirmed that the older architecture works. MPP with shared (S3) storage and everything above that on local SSD and compute delivers the best performance. Even Snowflake finally came out with "interactive" warehouses with this architecture.

Parquet, Iceberg, and other open formats seem good, but they may hit a complexity wall. There's already some inconsistency between platforms, eg with delete vectors.

Incremental view maintenance interests me as well, and I would like to see it more available on different platforms. It's ironic that people use dbt etc. to test every little edit of their manually coded delta pipelines, but don't look at IVM.


Definitely they should include D4M and GraphQL [1],[2].

Not only D4M can cater for structured relational data, it's also suitable for non-structured and sparse data in spreadsheet, matrices and graph. It's essentially a generalization of SQL but for all things data.

There's also integration of D4M with SciDB [3].

[1] D4M: Dynamic Distributed Dimensional Data Model:

https://d4m.mit.edu/

[2] GraphQL:

https://graphql.org/

[3] D4M: Bringing associative arrays to database engines:

https://arxiv.org/abs/1508.07371


LLMs as DBs (if you squint hard enough)


This is nice double entendre because tonic is a pleasant gRPC server library in rust!

https://github.com/hyperium/tonic


It should be this way. Clients should have some protocol to communicate the schema they expect to the database probably with some versioning scheme. The database should be able to serve multiple mutually compatible views over the schema (stay robust to column renames for example). The database should manage and prevent the destruction of in use views of that schema. After an old view has been made incompatible, old clients needing that view should be locked out.


> The database should manage and prevent the destruction of in use views of that schema. After an old view has been made incompatible, old clients needing that view should be locked out.

this is the interesting part where the article's prpcess matters. how do you make incompatible changes without breaking clients?


You’re right that it would run on a block chain, but that fact would primarily exist to power some marketing. Everybody would end up interacting with it through a single centralized web site and API because it’s the only usable way to get it to work.


{txid:"7abde7838e8db8ba98bf8b74be77a9e787be7b8bfb7b893", gas: 0.00015, query: "A", domain: "blabla.com", actual-dns-that-will-resolve-the-query: "8.8.8.8"}


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: