

MemSQL Community Edition Launches on AWS and Azure - ericfrenkiel
http://blog.memsql.com/memsql-on-aws-and-azure/

======
stevecalifornia
I want to like this product but I am skeptical as a result of endless streams
of new database products promising the world and under-delivering.

How are we allowing horizontal scaling but ensuring transitionally consistent,
write anytime records?

Also, I know MSSQL will use nearly all memory on a system to put the DB into
memory. If it can't fit the entire DB it will use logic to put the most
appropriate data into memory. This product seems entirely based around the not
new idea of putting records into memory. What am I missing?

~~~
ericfrenkiel
Hi Steve, this is Eric, one of the cofounders; to answer your question, it's
about combining a few ideas together that make MemSQL a database that delivers
on its promises. They are:

\- Data resides in memory with lock-free data structures

\- Full SQL, both operational and analytic

\- Distributes on commodity hardware, distributed query optimizer

On its own, putting data in memory isn't enough. As you mentioned, MSSQL does
it, as many other vendors. The gap though is that they are still single-box
DBs. With a distributed database, not only do you get more storage, you also
(and most importantly) get more compute power.

Once the data is in-memory, using SQL to manipulate it and query it is the way
to go. But again, once you escape a single box, you have to build a
distributed query optimizer, which is hard stuff to say the least.

Customers use MemSQL because they no longer need multi-million dollar Big Iron
Appliances from the monolithic vendors. Customers want a cost-effective
architecture that uses commodity web servers. We can prove the technology
works by our customers who vouch for its efficacy.

And, since we launched the Community Edition, please feel free to take MemSQL
for a spin and even use it however you'd like. It's unlimited in both scale
and capacity and has all the SQL features in the enterprise edition.

~~~
stevecalifornia
Thanks for replying. Here is another question that may help clarify some
things:

Availability: Each client can always read and write.

Consistency: All clients always have the same view of the data.

Partition Tolerance: The system works well despite physical network
partitions.

The saying goes: "Pick two." Are you implying that you can pick three with
your system?

When you say 'Data resides in memory with lock-free data structures' I feel
like the trade-off is consistency-- data becomes eventually consistent.

What are your thoughts?

