Live data from Hacker News

Noms – A versioned, forkable, syncable database

github.com

71–80 of 107 posts

Re: Noms – A versioned, forkable, syncable database

#71

Hi Hacker News. I'm one of the founders of the Noms project and Attic Labs, the company behind it. Happy to answer any questions. In the meantime, as long as I've got your attention, here's a few new stuffs we've been working on since last time Noms was discussed here in August: - A prototype query language, and a demo of how to create indexes in Noms: https://www.youtube.com/watch?v=fv6_T5yaWns - Support for merging…

Any pointers to design docs or papers that inspired Noms?

Re: Noms – A versioned, forkable, syncable database

#72

Hi Hacker News. I'm one of the founders of the Noms project and Attic Labs, the company behind it. Happy to answer any questions. In the meantime, as long as I've got your attention, here's a few new stuffs we've been working on since last time Noms was discussed here in August: - A prototype query language, and a demo of how to create indexes in Noms: https://www.youtube.com/watch?v=fv6_T5yaWns - Support for merging…

Do you have any plans to provide C/C++ bindings?

Re: Noms – A versioned, forkable, syncable database

#73
post #62
post #34

Earlier quoted context omitted.

Most devs dont use windows these days.

Good devs use all three platforms. Or at least two.

Use, because they have to. This being said they usually develop more in one than the others. I have not met until now anyone who was equally proficient in developping software across all platforms/environments.

Re: Noms – A versioned, forkable, syncable database

#75
I really like this, I've always thought that git needed to support diff modes different from textline-based because even if this is fit for most programming languages what you really what is to see differences between ASTs (take into account those absurd change counts when just changing the indentation or imagine a normal diff of LISP source). Maybe there's some way of replacing git with noms to get there(even if it may be killing flies with cannonballs)

Re: Noms – A versioned, forkable, syncable database

#76

Earlier quoted context omitted.

What about ACID? How far do you plan to divert from it?

This is the most important question in my mind. If it isn't ACID it needs to make a very strong case for itself to even be played with by most DBA's, including myself.

Depending on details, content addressing could make it very hard to not be ACID. Here's to hoping.

Re: Noms – A versioned, forkable, syncable database

#77
post #57

Hi Hacker News. I'm one of the founders of the Noms project and Attic Labs, the company behind it. Happy to answer any questions. In the meantime, as long as I've got your attention, here's a few new stuffs we've been working on since last time Noms was discussed here in August: - A prototype query language, and a demo of how to create indexes in Noms: https://www.youtube.com/watch?v=fv6_T5yaWns - Support for merging…

There's quite a dramatic claim on the website, "merge [...] changes efficiently and correctly days, weeks, or years later." How does that work? For example if you have two records saying userid 3's name is "ann" and userid 3's name is "jane", I don't see how you could merge those without extra information or human input.

Well, hopefully you're not just using an incrementing user id field. Twitter's Snowflake format is much closer to "definitely unique". So then you have a very simple set, which you could very simply merge with other sets. So that might help you get started with merging those pieces of data.

But I agree, there are certain kinds of data that you can't so efficiently merge. Your best bet is to try to adapt it into some sort of known, proven CRDT. (Dunno how you do that with this database, haven't really read up on it.)

Re: Noms – A versioned, forkable, syncable database

#78

Earlier quoted context omitted.

So.. CRDTs?

https://github.com/attic-labs/noms/blob/master/doc/faq.md#wh...

Those reasons are a bit outdated, you can certainly have add-and-remove crdts with or-sets, and you can do so with almost no garbage. One of the Tomtom engineers explained one approach at Strangeloop last month: https://www.youtube.com/watch?v=veeWamWy8dk

Re: Noms – A versioned, forkable, syncable database

#79

I've been wanting to use something like this. But... * It's a big jump from relational or noSQL DB's, so there aren't (m)any adapters that I can see for it for JPA, ActiveRecord, etc. * I'd really like to see a benchmark for each noms implementation compared to postgres, mysql, oracle, and mssql server, if there is a way to do apples-to-apples. * "noms" is unfortunately is really bad for SEO because noms is a common…

With content addressing, you may loose data but never get corrupted data.

Re: Noms – A versioned, forkable, syncable database

#80

Earlier quoted context omitted.

OS X is treated as a single category, but Windows is split over multiple versions. When you add up all the Windows versions, OS X isn't close to 50% market share. What was claimed is that most developers don't use Windows, not that they use macOS. If over 50% of developer use either macOS or Linux, then the claim is true.

26.2% + 21.7% = 47.9%. So based on that survey the statement that most devs don't use Windows anymore is incorrect. Also, that doesn't answer my other question. Other than better support for Unix command line tools, what makes OS X (or Linux) a better platform for devs than Windows 10?

> Other than better support for Unix command line tools, what makes OS X (or Linux) a better platform for devs than Windows 10?

Some that come to mind: Granular packaging systems with everything developer under the sun in them (including binary and source packages). Better support and easier install of a vast array of developer tools and languages (just one example: git). Much more automatable (eg not every install on windows can be automated. Many require GUI interaction). Containerizable. More powerful filesystems like layered filesystems or content addresses filesystems like ZFS. Cloud orchestration tools work better (puppet, chef, ansible). Tiling window managers to streamline screen work. Much wider choice of code editing environments and code manipulation tools (Windows is much more centric around the offerings of Microsoft). Better interoperation with other tools and filesystems (Linux plays much nicer with windows than windows plays with linux). Less bugs in the APIs and development systems themselves (a result of open source enabling bugfixing independent of a vendor). Better system debug and development tools (eg. strace/dtrace/ktrace). Almost every dev tool included in the distributions (no need to go download some dodgy .exe of tucows or where ever). More example open source code to reference and work with makes coding similar ideas less error prone.

Post reply on HN