Live data from Hacker News

Dqlite – High-Availability SQLite

dqlite.io

41–50 of 120 posts

Re: Dqlite – High-Availability SQLite

#41

The one annoying thing about SQLite is that there is no easy way to change the table structure. Adding/Removing/Renaming columns is super complicated and afaik there is no good command line tool that does it for you. That is the primary reason why I do not consider it for new projects. It's just to slow to iterate on.

Would making a new db with the new structure and essentially importing the old data be a reasonably speedy activity?

Re: Dqlite – High-Availability SQLite

#42

The one annoying thing about SQLite is that there is no easy way to change the table structure. Adding/Removing/Renaming columns is super complicated and afaik there is no good command line tool that does it for you. That is the primary reason why I do not consider it for new projects. It's just to slow to iterate on.

That's a hell of a reason not to use sqlite. Staging data in a temporary table while a table is dropped, recreated, and then data is reinserted is not much of an inconvenience.

Re: Dqlite – High-Availability SQLite

#43

> fully async disk I/O I thought Linux didn't support real async disk IO. Is that not the case? If Linux has no real async disk IO, how does Dqlite achieve fully async disk IO?

Linux does support async I/O to disks using various other interfaces/approaches - it’s just that the classic approach of select()’ing on non-blocking FDs doesn’t work for disk:

https://blog.cloudflare.com/io_submit-the-epoll-alternative-...

Re: Dqlite – High-Availability SQLite

#44
post #14

I'm not brimming with ideas of where this would be a good fit tbh. Is anyone using it or considering it for anything?

anywhere where you cba to run up a full database server and don't necessarily mind losing a few features. Historically sqlite has been THE solution for data storage in embedded (think IOT), so in this case imagine an IOT configuration with multiple nodes.

So an easy use-case that springs to mind is any sort of distributed IOT device that need to track state. So any industrial or consumer monitoring system with a centralised controller that would use this for data storage. Specifically, that this enables the use of multiple nodes for high throughput imagine many, many, many sensors and a central controller streaming real-time data.

Re: Dqlite – High-Availability SQLite

#46
Some thoughts: A consensus protocol is like 1/50th of what you need for a stable, reliable distributed database, and it's developed by a company, so expect it to be abandoned once they stop developing it. I wouldn't use it at work (yet) but could be fun for personal projects.

Re: Dqlite – High-Availability SQLite

#49

> fully async disk I/O I thought Linux didn't support real async disk IO. Is that not the case? If Linux has no real async disk IO, how does Dqlite achieve fully async disk IO?

https://github.com/canonical/dqlite/blob/master/doc/faq.md#a...

http://man7.org/linux/man-pages/man2/io_submit.2.html

Post reply on HN