In a previous post I wrote ARM based servers. Since then,
and thanks to all the comments and responses I got, I looked more
into this ARM thing and it's absolutely fascinating...
Look at this beauty (taken from the site of Calxeda,
the manufacturer):
What is it? A chip? A server? No, it's a cluster of 4
servers...
And this:
is HP Redstone Server, 288 chips, 1,152 cores (Calxeda
quad-core SoC) in a 4U server “Dramatically reducing the cost and
complexity of cabling and …
In my previous post I covered the shard-disk paradigm's pros
and cons, but the conclusion that is that it cannot really
qualify as a scale-out solution, when it comes to massive OLTP,
big-data, big-sessions-count and mixture of reads and
writes.
Read/Write splitting is achieved when numerous
replicated database servers are used for reads. This way the
system can scale to cope with increase in concurrent load. This
solution qualifies as a scale-out solution as it
allow expansion beyond the boundaries of one DB, DB
machines are shared-nothing, can be added as a slave to the
replication "group" when required.
And, as a fact, read/write …
Yesterday I was asked by a customer for the reason why he had
failed to achieve scale with a state-of-the-art "shared-storage"
cluster. "It's a scale-out to 4 servers, but with a shared disk.
And I got, after tons of work and efforts, 130% throughput,
not even close to the expected 400%" he said.
Well, scale-out cannot be achieved with a shared storage and the
word "shared" is the key. Scale-out is done with
absolutely nothing shared or a "shared-nothing"
architecture. This what makes it linear and
unlimited. Any shared resource, creates a tremendous burden
on each and every database server in the cluster.
In a previous post, I identified database engine
activities such as buffer management, locking, thread
locks/semaphores, and recovery tasks - as the main bottleneck in
the OLTP …
Today, I think we witnessed a small sign for a big
revolution...
http://www.pcworld.com/businesscenter/article/256383/dell_reaches_for_the_cloud_with_new_prototype_arm_server.html
"Dell announced a prototype low-power server with ARM processors,
following a growing demand by Web companies for custom-built
servers that can scale performance while reducing financial
overhead on data centers"In short, ARM (see Wikipedia definition
here) is an architecture standard for processors.
ARM processors are slower compared to good old x86 processors
from Intel and AMD, but have power-efficiency, density and price
attributes that intrigue customers, especially in our days of
green data centers where carbon emissions is …
In my previous post,http://database-scalability.blogspot.com/2012/05/oltp-vs-analytics.html, I
reviewed the differences between OLTP and Analytics
databases.
Scale challenges are different between those 2 worlds of
databases.
Scale challenges in the Analytics world are with the growing
amounts of data. Most solutions have been leveraging those 3 main
aspects: Columnar storage, RAM and parallelism.
Columnar storage makes scans and data filtering more precise and
focused. After that – it all goes down to the I/O - the faster
the I/O is, the faster the query will finish and bring results.
Faster disks and also SSD can play good role, but above all: RAM! …
Yesterday (4/19) I attended the AWS Summit in NYC (http://aws.amazon.com/aws-summit-2012/nyc).
I'm a big fan and also a heavy user of AWS especially S3, EC2,
and naturally, RDS. In every point in time I have several dozens
of AWS machines running for me out there in the East region, and
in some cases when we do some special benchmarks and tests,
number of EC2 and RDS machines can easily reach 3-digit. As I
said, I'm a fan...
A few quotes I was able to catch and document on my laptop, on my
laps...:
"When you develop an app for facebook, you must be prepared (and
be afraid) that to your party, not noone will show up, but
everybody will show up!" So true! Simple and true. We all want to
succeed, to have success with our app. We have to think about
scaling from day 1.
"Database was bottleneck for building of sophisticated apps. This
is …
There are ways to scale databases, unfortunately some are
limited, some introduce complexities, some are do not fit the
cloud...
By scaling solution I mean a solutions that help me scale my
existing environment, my existing RDBMS. Some magic or technology
that will take my existing Oracle or MySQL for example, to the
next level, without porting to a new DB engine/vendor and without
completely recoding my app.
Let's try to organize things a bit in this very summarized table,
just to get the hunch of it. I can't imagine to cover it all in 1
table or even 100 pages, but that should be a start of a
meaningful discussion to continue in next posts:
Solution | Scales reads? | Scales writes? | Scales data? | Scales sessions? | … |
In my heart, I'm a DBA, always was and always will be. People say
I'm a database guy by the way I think, keep my car, and file my
music and also bank statements... However I did great deal of
development, design, architecture on the apps side. I (hope to)
have some perspective.
Applications come and go. The second programming language I've
ever learned and worked on was COBOL, some still say most of
the world's lines of code are written in this language, maybe so,
but anyway I since then have known and written in dozens of
programming languages, from Assembly to Force.com, from Pascal to
Delphi, from functional C to Object
Oriented SmallTalk, C++, Java and , from compiled C/CGI
to interpreted Perl, ASP and Ruby back to compiled node.js... My
first applications ran on Main-Frame with green screen, later I
created beautiful graphic client-server applications, later I had
to create hideous white web applications …
Other day we had a small discussion about data stores and hardware; and which one drives the other when it comes to data storage solution, rather it is a hard discussion as both on its own are bigger entities; and one can not easily conclude as it depends on use cases and actually speaking data [...]
Very nice and interesting post from Michael Stonebraker explaining how errors dictate CAP Theorem (Consistency, Availability and Partition-tolerance); as only one objective from the CAP can be achieved during normal error conditions as NoSQL system seems to relax the consistency model as CAP theorem anyway proves that one can’t get all 3 at the same [...]