Live data from Hacker News

MemSQL is now free to use for databases with up to 128GB of RAM usage

memsql.com

71–80 of 121 posts

Re: MemSQL is now free to use for databases with up to 128GB of RAM usage

#71

Earlier quoted context omitted.

Those are some nice features. Unfortunately, your DBMS doesn't do some basic things like return consistent results for a simple SQL query with a group by and having clause. I admit this might be a configuration issue on my company's end, but if so, that is a terrible configuration option and should be hidden away, opt in only, with a huge wall of warnings so people don't actually enable it except in extreme circumsta…

I've seen you mention these inconsistent results twice here in this this thread, but have worked at MemSQL for 5 years and never heard of such an issue. Have you reached out to see if maybe your query / data is not what you expect? I've seen inconsistent results only once, and it was because the default date formats across RDMBSs were different (and was not anticipated).

How would the query/data not be what I expect if If I'm writing the query myself, and looking directly at the sql table definition to create it?

Beyond those considerations, why would the same exact same query (executed several times in rapid succession from the console) produce vastly different results? Also, I should clarify, rewriting the query from "select ... from xyz group by ... having ..." to "select ... from (select * from xyz where ...) group by ..." made the inconsistency goes away, without changing the filtering clause. That does not inspire confidence.

Re: MemSQL is now free to use for databases with up to 128GB of RAM usage

#72
post #70

Earlier quoted context omitted.

Personally, I would not use memsql as a first line RDBMS. It lacks too many useful features, and it doesn't return consistent results for all queries (I've found inconsistencies when using group by with having, for instance).

Been using MemSQL for a enterprise-level financial services client since mid-2017. We have this in production and are running it in a multi-TB cluster. We've not seen ANY of these issues here and are heavy, crazy query users. Their support has been nothing but on-the-spot and very helpful.

I totally admit that the inconsistency might be a result of misconfiguration by maintainers at my company. That being said, being able to shoot yourself in the foot so subtly and badly via configuration seems like a pretty strong anti-feature.

Re: MemSQL is now free to use for databases with up to 128GB of RAM usage

#73
post #14

Earlier quoted context omitted.

MemSQL CEO here. There are a few: - MemSQL is transactional and writes transactions on disk - MemSQL has an excellent implementation of SQL with mature query optimization and query execution. And it get better every release. This is from 6.5 https://www.memsql.com/blog/6.5-performance/ - MemSQL has in-memory and on-disk data storage so you can use MemSQL to store petabytes - MemSQL has columnstores and vectorized que…

Given the availability of open source solutions why would I in 2018 build a critical part of my application on a closed platform? Genuinely not intended as snark, I'm just curious why memsql is so compelling that I would consider it.

To build on the list of features above, here's a blog post from Pandora where they go into the details of what they use MemSQL for and some of the alternatives they looked into for their use case: https://engineering.pandora.com/using-memsql-at-pandora-79a8...

Re: MemSQL is now free to use for databases with up to 128GB of RAM usage

#74
post #8

What is the benefit of using MemSQL over some other free in memory databases like Apache Ignite ? I see that they have better documentation and support (edit: + competition on Codeforces which winners rarely receive their T-Shirts). What about other things?

I would like to extend this question, what's the benefit of MemSQL over a columnar store db with a massive cache?

Re: MemSQL is now free to use for databases with up to 128GB of RAM usage

#75
post #8

What is the benefit of using MemSQL over some other free in memory databases like Apache Ignite ? I see that they have better documentation and support (edit: + competition on Codeforces which winners rarely receive their T-Shirts). What about other things?

Apache Ignite is an in-memory data grid that supports persistence and overflow-to-disk. It primarily started as a cache and now has a full key/value store with SQL-92 on top, but isn't a full relational database. Instead it has other features like distributed data structures, messaging, and is more about connecting your applications together. Easier deployment model with all nodes being identical. MemSQL is a distrib…

Presto on top of Apache Ignite is basically an OLAP database (It just takes some effort to write the connector). It doesn't support transactional workloads though.

Re: MemSQL is now free to use for databases with up to 128GB of RAM usage

#76

Earlier quoted context omitted.

I've seen you mention these inconsistent results twice here in this this thread, but have worked at MemSQL for 5 years and never heard of such an issue. Have you reached out to see if maybe your query / data is not what you expect? I've seen inconsistent results only once, and it was because the default date formats across RDMBSs were different (and was not anticipated).

How would the query/data not be what I expect if If I'm writing the query myself, and looking directly at the sql table definition to create it? Beyond those considerations, why would the same exact same query (executed several times in rapid succession from the console) produce vastly different results? Also, I should clarify, rewriting the query from "select ... from xyz group by ... having ..." to "select ... from…

Can you post the full schema and query? Are you sure you are not projecting columns that are not part of the group by expression?

Re: MemSQL is now free to use for databases with up to 128GB of RAM usage

#77

This might be a stupid question, but what is the advantage of this solution over an in-memory sqlite database?

Distributed. Scalable. OLTP + OLAP queries. High availability. Very fast performance for reads and writes. They are entirely different systems. Sqlite is meant for self-contained applications that need some relational data persistence with a single file for storage, not for accessing as a central database with many clients storing TBs and scaling across nodes.

> Distributed

is MemSQL shared nothing or shared everything, or can be mix of both?

Re: MemSQL is now free to use for databases with up to 128GB of RAM usage

#78
post #76

Earlier quoted context omitted.

How would the query/data not be what I expect if If I'm writing the query myself, and looking directly at the sql table definition to create it? Beyond those considerations, why would the same exact same query (executed several times in rapid succession from the console) produce vastly different results? Also, I should clarify, rewriting the query from "select ... from xyz group by ... having ..." to "select ... from…

Can you post the full schema and query? Are you sure you are not projecting columns that are not part of the group by expression?

I really appreciate the offer. I got the go-ahead to share this information, where should I direct it?

Re: MemSQL is now free to use for databases with up to 128GB of RAM usage

#80
post #76

Earlier quoted context omitted.

Can you post the full schema and query? Are you sure you are not projecting columns that are not part of the group by expression?

I really appreciate the offer. I got the go-ahead to share this information, where should I direct it?

Here, or https://www.memsql.com/forum/, or memsql-public.slack.com.
Post reply on HN