News for hackers. Stuff that matters.
Re:Jepsen Disputes MongoDB's Data Consistency Claims by anaphor on Saturday May 23, 2020 @07:15PM (#23287494)
SQLite: I enjoy using reliable and correct databases even at the cost of scalability
Re:Jepsen Disputes MongoDB's Data Consistency Claims by erik_seaberg on Saturday May 23, 2020 @08:28PM (#23287961)
SQLite has always intentionally failed to report this error:

  sqlite> create table foo (n int);
  sqlite> insert into foo (n) values ('dave');
  sqlite> select count(*) from foo where n = 'dave';
  1
Re:Jepsen Disputes MongoDB's Data Consistency Claims by phyzome on Saturday May 23, 2020 @08:54PM (#23288116)
That is documented as a feature. https://www.sqlite.org/different.html under "Manifest typing".

SQLite does not use column typing except in integer primary keys.

Re:Jepsen Disputes MongoDB's Data Consistency Claims by dannyw on Sunday May 24, 2020 @12:03AM (#23288976)
Fair enough, but just because you call a bug a feature doesn’t mean it’s not a bug.

I think most people have realised weak typing is not a good idea in programming languages. It’s especially not a good idea in databases.

Re:Jepsen Disputes MongoDB's Data Consistency Claims by zaphar on Sunday May 24, 2020 @12:04PM (#23292433)
Most people have not in fact realized weak typing is not a good idea. I myself vastly prefer strongly typed languages and think they are superior. However there are a huge number of people I work with and know professionally who prefer dynamically typed languages. Weak versus strong typing is a highly subjective opinion. Each one has different costs and benefits and which camp you land in depends in large part on what you value personally.
Re:Jepsen Disputes MongoDB's Data Consistency Claims by SSLy on Sunday May 24, 2020 @02:50PM (#23293670)
Most "scripting" plangs are both strong and dynamic typed at the same time.
Re:Jepsen Disputes MongoDB's Data Consistency Claims by erik_seaberg on Saturday May 23, 2020 @09:10PM (#23288177)
SQLite accepts a type constraint without enforcing it. That's a bug just like MySQL sometimes accepting a foreign key constraint without enforcing it.
Re:Jepsen Disputes MongoDB's Data Consistency Claims by camgunz on Saturday May 23, 2020 @09:28PM (#23288265)
It's not a type constraint. It's a hint to SQLite to try and coerce values when it can. Here's what that link parent posted says:

> As far as we can tell, the SQL language specification allows the use of manifest typing. Nevertheless, most other SQL database engines are statically typed and so some people feel that the use of manifest typing is a bug in SQLite. But the authors of SQLite feel very strongly that this is a feature. The use of manifest typing in SQLite is a deliberate design decision which has proven in practice to make SQLite more reliable and easier to use, especially when used in combination with dynamically typed programming languages such as Tcl and Python.

It's intended behavior that's compatible with the SQL spec.

Re:Jepsen Disputes MongoDB's Data Consistency Claims by OOPMan on Sunday May 24, 2020 @12:35AM (#23289117)
That doesn't change the fact that it's not a good idea.
Re:Jepsen Disputes MongoDB's Data Consistency Claims by kirstenbirgit on Sunday May 24, 2020 @03:06AM (#23289743)
Why?
Re:Jepsen Disputes MongoDB's Data Consistency Claims by chipotle_coyote on Saturday May 23, 2020 @08:26PM (#23287946)
I admit I was kind of thinking that, even though I appreciated the humor. :) I imagine an awful lot of web sites out there would do just fine with SQLite as their back end.
Re:Jepsen Disputes MongoDB's Data Consistency Claims by phyzome on Saturday May 23, 2020 @08:55PM (#23288123)
It's great for small, read-only websites that aren't quite simple enough to just be static HTML sites. Also for desktop app config/data DBs.
Re:Jepsen Disputes MongoDB's Data Consistency Claims by risyachka on Sunday May 24, 2020 @12:52AM (#23289202)
Can you elaborate? I've seen benchmarks and from their website what I understood is that it can handle really massive reads and writes, tens (maybe hundreds) thousands of ops per second, but personally never tested to this extent.
Re:Jepsen Disputes MongoDB's Data Consistency Claims by kuschku on Sunday May 24, 2020 @04:10AM (#23290015)
We're using it in Quassel, and as soon as you go over ~3-4 parallel write/read threads, it starts locking up completely, sometimes taking 30 seconds for simple queries that should really take milliseconds.

The big issue is that sqlite does full db locking for any operation, so during any write you can't just easily read at all.

This can be fixed with WAL mode, but WAL mode is broken in uts early versions, and new versions of sqlite aren't in all disteos yet, despite being out for almost a decade. And even WAL mode gets abysmal performance.

Re:Jepsen Disputes MongoDB's Data Consistency Claims by phyzome on Tuesday May 26, 2020 @09:32PM (#23318494)
As long as you're only doing reads, though, you can forego the locking and it's pretty nice!

Definitely would not use in a read/write situation for a web API for various reasons, though. :-)

Re:Jepsen Disputes MongoDB's Data Consistency Claims by yread on Sunday May 24, 2020 @10:28AM (#23291752)
Which version 'fixes' WAL in your opinion?
Re:Jepsen Disputes MongoDB's Data Consistency Claims by stickupkid on Sunday May 24, 2020 @03:53AM (#23289922)
It really can (LXD cloud setup from personal experience), the problem is that if you don't serialise your writes then yeah, fun times to be had. There are compromises for all databases. People just like telling others their opinion as fact, and how wrong everybody is apart from themselves of course.