News for hackers. Stuff that matters.
Re:MemSQL is now free to use for databases with up to 128GB ... by lbriner on Tuesday November 06, 2018 @11:21AM (#18392336)
The bit I can't see on the FAQ is about how it is as fast as RAM but protects against data loss using disk.

I think most engines guarantee Durability by assuming that once on disk, it won't go anywhere but if it's in RAM, it is susceptible to power outage? If it gets written to disk, it's not as fast as RAM?

Re:MemSQL is now free to use for databases with up to 128GB ... by rickn on Tuesday November 06, 2018 @02:27PM (#18394141)
[Director of Product Management for MemSQL]

MemSQL has two storage modes Rowstore and Columnstore. The Rowstore is "in-memory" and the columnstore is "on-disk" but those are oversimplifications. The rowstore data is stored in memory but we keep a snapshot of the data on disk. We also keep the transaction log (a record of all changes since the snapshot was taken) also on disk. So queries can be satisfied fully from memory (because that is where the current data lives) but writes go to memory and to the transaction log on disk. If the machine reboots then the snapshot is loaded from disk back into memory and the transaction log is replayed. When that is complete you are back to where you were when the machine rebooted with no loss of committed data. Columnstore data is always stored on disk although we use a row store in front of the column store that is hidden from the user but acts as a buffer of sorts so that writes in the column store can be pretty fast. More details on how the columnstore works can be found here: https://docs.memsql.com/concepts/v6.7/columnstore/#how-the-m...

Re:MemSQL is now free to use for databases with up to 128GB ... by ryanworl on Tuesday November 06, 2018 @11:26AM (#18392395)
The concept in databases that you’re looking for is called group commit. Transactions running concurrently batch writes together before flushing to disk. This means the minimum latency for committing a transaction is the speed of fsync, but the throughput can be as high as the disk bandwidth.

There are other reasons why an in memory database can run faster than a disk based database, such as not having a buffer pool manager, but I don’t think that’s what you were worried about.

Re:MemSQL is now free to use for databases with up to 128GB ... by janetacarr on Tuesday November 06, 2018 @11:34AM (#18392489)
It might use a Write-Ahead log like postgres to guarantee data integrity between memory and disk.
Re:MemSQL is now free to use for databases with up to 128GB ... by nikita on Tuesday November 06, 2018 @12:09PM (#18392838)
That’s right and it writes it on two separate nodes if u enable high availability