Data Store

Engine/platform for handling data.

For Structured Data or Semi Structured Data?

Can you get by with just the File System or a Hash Table?

How much do you care about Scalability? When/why do you move from Scaling Up to Scaling Out?

newer stuff: CouchDB, Amazon SimpleDB, MongoDb, BigTable...

Neo4 J http://en.wikipedia.org/wiki/Neo4j

  • Aug'2013: used by BangWithFriends

notes from 2002-2005

In particular I'm interested in non-RDBMS models, since Everything Is A Graph, and it would be useful for my Object Browser ideas (could use term "DataBase" but that implies RDBMS to most people).

MetaKit, E4Graph

RdfDb

Round Up's Hyper Database (which sits on top of BerkeleyDB)

Dave McCusker wrote the MorkDb which has been used in various pieces of Mozilla. Nearly everything is representable as objects with attributes. Attributes are cells, objects are rows, tables are collections.

Zope's ZODB, which can be used on its own. (Transparent Object Persistence)

Python-specific lite persistence options

Python and prevalence systems (persist transactions)

Cog is the Checkpointed Object Graph object database, providing semi-transparent persistence for large sets of interrelated Python objects. It handles automatic loading of objects on reference, and saving of modified objects back to disk. http://www.randomly.org/projects/cog/ - see 2002-12-10-CogPersistence

Paul Fernhout's Pointrel datastore (in Python and other languages). Description and project

http://www.thekompany.com/embedded/tkcrekall/

book's on Intelligent Database

MailMan's Hyper Database? No, the hyper is a reference to Hyper Mail archiving. There's nothing generic about the code.

The File System!

  • pro: data safety (not likely to lose entire data set); can easily use many existing file-processing tools

  • con/risk: overhead of thousands of tiny files; search/index performance (could use hybrid: put indexes in some separate binary structure (but then you can't use file-processing tools because the index can't stay in Data Synch with the base data, though maybe there are some narrow cases where that's OK).

  • ReiserFS

  • Spring Desktop

  • logical file system design

  • lots of student papers on DistributedFile Systems, etc.

Also worth remembering

ZigZag (Ted Nelson), Gzz/Fen Fire storm

XmlDb API?

OOPS for Python.

Object Oriented Data Base - see WikiWikiWeb:LetsUseAnObjectOrientedDatabase


Edited:    |       |    Search Twitter for discussion