[AccessD] SSD, The Game Changer - SQL Man of Mystery -SQLServerCentral.com

Jim Lawrence accessd at shaw.ca
Mon Jul 4 10:56:07 CDT 2011


Hi Gustav:

Good points. 

Like MongoDB needs the client NoRM so it can connect to .Net, Cassandra
needs the client Thrift. There are other clients but Thrift seems to be the
most popular probably because it was the first client. 

An aside: My son-in-law does a lot of work on Cassandra and he uses the
client PHPCassa. It can either use Thrift as a plug-in or connect directly
through PHP sockets. (As PHPCassa has just been released it is having some
growing pains which should be resolved by the fall.)

The below sample shows a system connecting through a Virtual drive and then
connection to .Net.

http://www.ridgway.co.za/archive/2009/11/06/net-developers-guide-to-getting-
started-with-cassandra.aspx

I have been considering which NoSQL, or more accurately, Map-Reduce instead
of SQL, database to become involved with and Cassandra matched some very
important points. When I get involved it will be for the long run so:

1. Cassandra has the largest group of fortune 500 companies supporting it.
2. Cassandra, like MongoDB is being supported by Microsoft.

After Cassandra's, next major release, coming this summer, I would suspect
that there will be a real and full .Net client to follow.

In this region, there is a huge presents of Oracle on Linux/Unix/Windows but
there appears to be some real limitations with what a vertical Database can
do. There is only so powerful an HP Proliant or Dell that can be built and a
number of clients have been hitting that wall. In addition, the Oracle
licensing, costs are far greater than the servers. 

Just like single core CPUs hit the wall in 2006 so are large growing
databases. In the near future, there will be some real opportunities for
NoSQL experts.

Jim
 

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock
Sent: Monday, July 04, 2011 2:50 AM
To: accessd at databaseadvisors.com
Subject: Re: [AccessD] SSD, The Game Changer - SQL Man of Mystery
-SQLServerCentral.com

Hi Jim

But Casandra doesn't seem to be much .Net/C# friendly. Clients exist only
for the old version 0.7, and both of these seem to provide nothing that come
close to DataTableAdapters or the like (not to mention LINQ), only simple
command-type access:

http://aquiles.codeplex.com/

On the other hand, MongoDB seems to have proceeded further with NoRM:

http://iridescence.no/post/NoSQL-Getting-started-with-MongoDB-and-NoRM.aspx 

/gustav


>>> accessd at shaw.ca 04-07-2011 05:10 >>>
Inline:

-----Original Message-----
From: accessd-bounces at databaseadvisors.com 
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby
Sent: Sunday, July 03, 2011 2:41 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] SSD, The Game Changer - SQL Man of Mystery -
SQLServerCentral.com

Jim,

I read the first article and I don't see how it fits at all.

* It fits very well. First in overview this database does not require a
single PC to run the database. It is distributive in nature so you can just
add nodes to a bunch of old new and old PCs. The main problem with the
database as you have it now is that it is dependant on the hardware of a
single box. Just like in 2006 the single CPU reached it maximum and
multi-core processors were then created. Cassandra runs like a multi-core
PC. When the database is running on numerous PCs it is like running a full
RAID.
  
1) My data is very much a normal table, with rows and columns.  In one case
(the people table) there are a small number of columns, and most of the
columns are fully populated.  In the second table, there are pushing 700
fields and the columns are rarely fully populated.

* Cassandra, for example, has a sparse data structure. This means columns
can be over 2 billion (rows as well) wide (high), if required and the
'fields' do not have to be populated. At any time you can just insert
another 'field' and there is no rebuild required or performance loss (It can
all be done in real time). You can have your cake and eat it too. 

2) The data is relational, though just barely.  One of my people tables is
directly related to the data table.  All of my people tables may have people
in the other tables.  Eventually I will be pulling all of my people into a
single table with pointers back to the non people data in the original able.

* When you say barely relational that is what Cassandra is designed for.
What you are describing in item 2 is exactly what type of database Cassandra
is. It may not use SQL as we traditionally know it but it uses a system
called 'map-reduce' which can quickly (very quickly) obtain the same
results...it is data-mining tool on steroids.

3) I rarely update the data.  The people table is updated once per month as
I validate the addresses looking for moves.  I get about 1.5% / month moves.
The data table is never updated, at least the data in the existing columns.
Very occasionally I add new columns.

* Again, your requirements and description is matching Cassandra's design
nature to a tee.

4) I only have a single user (myself) and I never expect to have more.

* That does not matter if you are the only user. What does matter is that
you can pull any data out of a huge mass of mix data fast and easy. You have
noticed how Google can pull 365,000,000 hits in somewhere around 0.03
seconds. It is not because they have huge vertical super-powerful
computers...their computer are but beaters in comparison but their database
is spans hundreds of computers...just like Cassandra is capable of.

In comparison, the NoSQL databases claim to store documents and make them
searchable.  Blog posts, web pages etc.  They claim to be good as the
numbers of people simultaneously *writing* to them climbs into the hundreds
or thousands.

So while the technology is fascinating, it hardly seems like a fit for my
application.

* You are right in all the above but with the exception that the Cassandra
is a near perfect fit.

To that end I will be starting my own Cassandra database system and just to
see how it plays out. 

Here is a little video to watch that will do a lot to explain what and how
Cassandra does things:
http://video.disruptivecode.com/video/840645/what-makes-cassandra-trick.html
. 
I think you will be pleasantly surprised.

The product runs on any OS as all that it is needs is a copy of Java and
Apache, which is free, downloads. 
http://www.quora.com/How-can-i-install-Apache-Cassandra-on-Windows-Operating
-System

John W. Colby
www.ColbyConsulting.com 




More information about the AccessD mailing list