tdb and file-per-hash-chain

Stewart Smith stewart at mysql.com
Thu Feb 2 01:56:20 GMT 2006


On Thu, 2006-02-02 at 10:44 +1100, tridge at samba.org wrote:
>  > Hmmm. I had a quick poke around mysql.com and it's not clear whether
>  > this is easily separable from MySQL. I guess you could always use MySQL
>  > cluster as a backend to the TDB API, but that would require running
>  > both your SAN cluster and the MySQL cluster. There's a lot of scope here
>  > for misunderstandings and poor integration between discrete clustering
>  > technologies.

Yes, there's some room for poor integration between the clustering
technologies. However, getting around the design of a clustered FS not
being for a database, this may have to be the price.

Since the db cluster will be small and a known application doing known
things (i.e. everything is pretty predictable), administration should be
near zero.

With luck it shouldn't be too hard to explain that running a clustered
database is a speed optimisation that maybe worth their time.

> The impression I got from Stewart Smith, who looks after this code at
> MySQL, is that it is completely separable.

NDB was originally a completely separate product. Integration with MySQL
has been:
- write a table handler for mysql
- make ndb use the mysys portability library
- optimise, optimise, optimise

The mysys library, with not too much work could be made to build without
the rest of the mysql tree around. NDB itself doesn't use too much of
it.

> Stewart, can you let us know how we can extract just the ndb code so
> it can be built as a standalone piece?

The main foo to have just NDB be built would be in autoconf/automake
making an --ndb-only option that just didn't build any of the mysql
parts. It's currently geared to only mysql or a mysql with ndb setups.

There has been 

> What we want is the bits needed to give us a key-value API.

That would be just linking against libndbclient and using the NDBAPI to
create a table with a key and value (key indexed as primary key) and
doing index lookups.

doing this with existing builds is pretty much behaving as if NDB was
built standalone. It certainly doesn't include any of the mysql server
code (except the bit of the mysys portability library).

You'll notice that in most of our examples we also make a connection to
a mysql server to create the tables. This is so the .frm files are
created and stored in the cluster so that we can also query the tables
from mysqld (useful for debugging of tests :) You can, however, just
create tables using the NDBAPI and use the ndbapi programs such as
ndb_select_all to dump the contents of tables out.

hope this clarifies a bit and my current need for lunch hasn't made it
unintelligible :)
-- 
Stewart Smith, Software Engineer
MySQL AB, www.mysql.com
Office: +14082136540 Ext: 6616
VoIP: 6616 at sip.us.mysql.com
Mobile: +61 4 3 8844 332

Jumpstart your cluster:
http://www.mysql.com/consulting/packaged/cluster.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.samba.org/archive/samba-technical/attachments/20060202/8016fe12/attachment.bin


More information about the samba-technical mailing list