Live data from Hacker News

MemSQL Launches Unlimited Community Edition

blog.memsql.com

21–30 of 56 posts

Re: MemSQL Launches Unlimited Community Edition

#21
post #12

Earlier quoted context omitted.

http://docs.memsql.com/latest/faq/#what-is-memsql-not-for

It seems like the improvements here are OLAP focused, and welcome ones at that, but the docs and product, if not the marketing, seem to be moving away from operational workloads. From my interpretation of the docs, there are no "transactions" in the Jim Gray / ACID sense of the word. MemSQL offers transactional semantics with READ COMMITTED isolation. This is not just not SERIALIZABLE, it's also not REPEATABLE-READ o…

Hi @jhugg, a performant implementation of a counter usually does not read and update the value in separate statements within a transaction. Generally, people use UPDATE or INSERT...ON DUPLICATE KEY UPDATE (upsert) to implement this workload. In fact, transactional, high-throughput counters is an extremely common use-case for MemSQL [1].

As a matter of fact, even Oracle and MS SQL Server offer READ-COMMITTED as the default isolation level. Moreover, there are known issues with using SERIALIZABLE isolation in Oracle [2].

[1] - http://blog.memsql.com/high-speed-counters/

[2] - http://stackoverflow.com/questions/11826368/oracle-select-im...

Re: MemSQL Launches Unlimited Community Edition

#22
post #12

Earlier quoted context omitted.

It seems like the improvements here are OLAP focused, and welcome ones at that, but the docs and product, if not the marketing, seem to be moving away from operational workloads. From my interpretation of the docs, there are no "transactions" in the Jim Gray / ACID sense of the word. MemSQL offers transactional semantics with READ COMMITTED isolation. This is not just not SERIALIZABLE, it's also not REPEATABLE-READ o…

Well if MemSQL supports locks, then you can implement any stronger isolation model using both locks and READ COMMITTED transactions. Do they support row-level locking?

Yes, but then you losing the performance benefits.

Re: MemSQL Launches Unlimited Community Edition

#24

> The Community Edition is distributed as an executable > binary and is a free edition of the commercial MemSQL > Enterprise Edition. You are free to download and use > MemSQL Community Edition within your organization. So.. how long until the same thing happens as happened with FoundationDB?

I think the FoundationDB acquisition by a company with no interest in selling enterprise products was an anomaly. A popular, commercial enterprise storage system that actually makes money would be an acquisition target from the likes or Oracle, SAP, EMC, etc...in that scenario, the acquiring company would have significant interest to increase adoption of the product and maintain the developer community versus completely shutting the product down.

Re: MemSQL Launches Unlimited Community Edition

#25
post #20

> While you are free to use Community for your projects, > MemSQL does not support or endorse using it in production. ( http://blog.memsql.com/memsql-community-edition/ ) Ehhh. Do they mean that the Community Edition is only usable for development?

for critical deployments, the enterprise version has high availability, cross data center replication, and more. you can use the free edition however you please.

Re: MemSQL Launches Unlimited Community Edition

#26
post #18

Eric, one of the cofounders, here. happy to answer any questions on MemSQL 4 and the community edition. Some new features in MemSQL 4: - fully distributed joins - native geospatial index and datatypes - lots of new SQL surface area - concurrency improvements - analytic optimizer - Spark, HDFS, and S3 connectors

Hi Eric! Not sure if you remember me, but we spoke several (5?) years ago when you guys first started. I was the SAP HANA guy and I think we were talking about the landscape of in-memory solutions back then. First off, congrats on the success so far. Second, a few questions: - How is MemSQL comparing to HANA and Vertica? My understanding is that MemSQL provides the same infrastructure (columnar in-memory based storag…

Of course we remember you. Please stop by our new office!

You are right about the commodity hardware. The other difference with HANA is that MemSQL rowstores are in memory for high throughput applications and columnstores can be stored or flash or disks. So it's economical to scale MemSQL to very large datasets.

- MemSQL is very easy to scale. It comes with an ops dashboard that lets you add nodes with just a few clicks.

- There are a lot of different use cases. Some companies use us for operational reporting, end of day financial reporting, high throughput counters, real-time risk analysis, etc

Re: MemSQL Launches Unlimited Community Edition

#27
post #12

Earlier quoted context omitted.

It seems like the improvements here are OLAP focused, and welcome ones at that, but the docs and product, if not the marketing, seem to be moving away from operational workloads. From my interpretation of the docs, there are no "transactions" in the Jim Gray / ACID sense of the word. MemSQL offers transactional semantics with READ COMMITTED isolation. This is not just not SERIALIZABLE, it's also not REPEATABLE-READ o…

Hi @jhugg, a performant implementation of a counter usually does not read and update the value in separate statements within a transaction. Generally, people use UPDATE or INSERT...ON DUPLICATE KEY UPDATE (upsert) to implement this workload. In fact, transactional, high-throughput counters is an extremely common use-case for MemSQL [1]. As a matter of fact, even Oracle and MS SQL Server offer READ-COMMITTED as the de…

Yes. I know there are other ways to do simple counters. The counter-example broadly applies to multi-statement operations that feed the output of reads into writes, i.e. in general transactions.

And yes, the defaults on many systems are low, but you can turn them up if you have a transactional workload. Read-committed might be fine for a Drupal backend, but it's not truly transactional.

Related and neat post:

http://www.bailis.org/blog/understanding-weak-isolation-is-a...

One of the relevant points Peter makes is that weaker isolation may work ok at low contention and low scale, which matches most DB workloads, but probably not the ones people on HN care about.

Re: MemSQL Launches Unlimited Community Edition

#28

Eric, one of the cofounders, here. happy to answer any questions on MemSQL 4 and the community edition. Some new features in MemSQL 4: - fully distributed joins - native geospatial index and datatypes - lots of new SQL surface area - concurrency improvements - analytic optimizer - Spark, HDFS, and S3 connectors

Interesting. We've implemented a metadata layer for HDFS and YARN using NDB (MySQL Cluster) - that also supports READ COMMITTED transactions. Do you support: - row-level locking - independent transaction coordinators at data nodes - pruned index scans - network-aware transactions (with user-defined partition keys for tables) - any asynchronous/event API ?

- row-level locking -> yes we use MVCC and take a row level write lock when necessary for consistency

- independent transaction coordinators at data nodes -> we have a tier called "aggregators" that act as transaction coordinators. These are the nodes you connect to. Under the hood leaf nodes in memsql also manage transactions.

- pruned index scans -> Do you mean information retrieval? Our indexes support seeks and range scans if that's what you mean.

- network-aware transactions (with user-defined partition keys for tables) --> yes, we have user-defined partition keys (shard keys) and transactions work across multiple nodes on the network.

- any asynchronous/event API --> no, we don't have an event API Most of our use cases are "pull" oriented which scales very well with MemSQL

Re: MemSQL Launches Unlimited Community Edition

#29

Would love to hear from any existing users on their experiences so far (assuming that's allowed under previous licenses). Choosing a database is one of those decisions where I tend to go with the safest, well known option, but maybe I'm missing out.

I have been an enterprise user and had the luxury of using the 4 beta for the last month or so. I run a cluster of 18 machines with 192 cores and 540GB of RAM.

Impressions:

memSQL is remarkably stable. I actually have one machine running the old memSQL 1.0 beta that has not rebooted in months. 4.0 has similarly stable. The only problems happen when you run too many other processes on the aggregators (which is really just me being stupid).

Speed is great and the wire compliance with mySQL makes it very easy to develop for. To be honest, the "keeping the data in memory" part isn't the best part, it is the query compiling. It is incredibly fast. Often a query that takes 30sec to 1min to execute will compile down to fractions of a second. It is very cool to watch and never gets old.

We are looking to literally move all of our internal stuff to memSQL community edition while keeping our customer tools on enterprise.

Re: MemSQL Launches Unlimited Community Edition

#30

> The Community Edition is distributed as an executable > binary and is a free edition of the commercial MemSQL > Enterprise Edition. You are free to download and use > MemSQL Community Edition within your organization. So.. how long until the same thing happens as happened with FoundationDB?

I think the FoundationDB acquisition by a company with no interest in selling enterprise products was an anomaly. A popular, commercial enterprise storage system that actually makes money would be an acquisition target from the likes or Oracle, SAP, EMC, etc...in that scenario, the acquiring company would have significant interest to increase adoption of the product and maintain the developer community versus complet…

You mean like Oracle with MySQL? At least in that case the 'community' could move to MariaDB, which is not an option for non-Free databases like MemSQL.
Post reply on HN