Hi Marco,

Follow up on Jelle's notes :
"
I see, however, a NoSQL db is not going to give you a rich API querying the
DB, right?
"
and
"
Conceptually I planted it between serialization and a relational DB.
Is that correct?
"

As far as I understood the Cassandra db (don't know if it's the same for
other distributed db), objects are stored in key-value structures. Each key
is a uid (the 'row'), each value is a tuple of 'columns'. Each row can have
different number of columns, columns can be inserted, deleted etc.

It seems actually very close to a persistent python dict, and cannot be
considered as more 'serialization' oriented than a relational DB.

I don't know about any available querying API and its features compared to
SQL, but I'm quite sure the same operations can be performed (see for
instance
http://maxgrinev.com/2010/07/12/do-you-really-need-sql-to-do-it-all-in-cassandra/
).

Thomas

2011/1/5 M. Nawijn <naw...@gmail.com>

> Hi Jelle,
> > I *love* being corrected ;)
> I love to correct :).
> > I see, however, a NoSQL db is not going to give you a rich API querying
> the
> > DB, right?
> Well, it depends a little on what you mean. For NoSQL db's as far as I
> know, there is
> no standard like SQL. However, if you talk about CouchDB, you can
> write so-called views that
> aggregate and report on documents in the database. Views can be
> written different languages.
> Natively, CouchDB  views are written in Javascript. However, it is
> also possible to write views in
> Python.
>
> A sample (untested) in Python would be something like:
>
> def get_wheels(doc):
>     if doc.partname=='wheel':
>          yield doc.partid, doc
>
> Thus, the full python/javascript arsenal is available for querying the
> database.
> Applying the view to the documents in the database is expensive the first
> time,
> but very fast for any additional calls. This is similar to indexed
> columns/tables in a
> relational database.
>
> > Conceptually I planted it between serialization and a relational DB.
> > Is that correct?
> I am not sure.
>
>
> > Is it not important to have the possibility of SQL like operations on the
> > data?
> Yes, this is very important, but fully supported by writing views.
>
> > Thanks for sharing your insight,
> > -jelle
> >
> > On Wed, Jan 5, 2011 at 12:18 PM, M. Nawijn <naw...@gmail.com> wrote:
> >>
> >> Dear All,
> >>
> >> Interesting discussion, so here are my 2 cents.
> >>
> >> First a disclaimer, I am no database expert at all, but have
> >> experimented with sqlalchemy, sqlite etc. In addition, I recently
> >> experimented with CouchDB which is a NoSQL database. I don't agree
> >> with Jelle that NoSql db's are really built for web 2.0 like
> >> applications. As an example, CouchDb is used by CERN to distribute the
> >> data obtained from their large hydron collidor
> >> (http://www.readwriteweb.com/enterprise/2010/08/lhc-couchdb.php). In
> >> my work, I used CouchDB to distribute live test data obtained from
> >> physical tests. In particular, I used the replication feature of
> >> CouchDB to synchronize a test database at our internal network
> >> (directly hooked up to several data acquisition systems) and a
> >> database in our DMZ used for live post-processing and monitoring of
> >> the test. Databases like CouchDB can in my opinion be really usefull
> >> for storing CAE data in collaborative environments. For example,
> >> CouchDB is very document centric. In terms of CAE like applications I
> >> can imagine that raw topological data is stored as binary data in the
> >> document, while meta-data or OCC XDE data is stored in document
> >> attributes. Searching metadata/XDE info would be very fast and
> >> efficient and could easily be distributed over several databases.
> >>
> >> I will try to write a testcase in the next few weeks and post it here.
> >>
> >> Ciao,
> >>
> >> Marco
> >>
> >>
> >> > built specifically for web 2.0 realtime applications with trillions of
> >> > users. Query's are ran by code rather than sql statement and the DB is
> >> > reduced to storing / retrieving key/values ( on a large number of
> >> > machines
> >> > ).
> >> > I'm pretty confident its _not_ practical for our sort of purpose.
> >> > I'm pretty sure it would be more productive to first mess about with
> >> > something compact and efficient such as sqlite ( or whatever
> relational
> >> > db
> >> > ;)
> >> > Than again, what the hell do I know.
> >> > Please refer to this wiki entry so you understand what schema-less
> DB's
> >> > are
> >> > good for.
> >> > Why not rely use a decent ORM like sqlalchemy?
> >> > Cheers,
> >> > -jelle
> >> > _______________________________________________
> >> > Pythonocc-users mailing list
> >> > Pythonocc-users@gna.org
> >> > https://mail.gna.org/listinfo/pythonocc-users
> >> >
> >> >
> >
> >
>
> _______________________________________________
> Pythonocc-users mailing list
> Pythonocc-users@gna.org
> https://mail.gna.org/listinfo/pythonocc-users
>
_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org
https://mail.gna.org/listinfo/pythonocc-users

Reply via email to