On 09/03/16 18:06, Lionel Elie Mamane wrote: > On Wed, Mar 09, 2016 at 06:59:08PM +0100, Lionel Elie Mamane wrote: >> On Tue, Mar 08, 2016 at 08:44:03PM +0000, Wols Lists wrote: >>> On 08/03/16 13:32, Lionel Elie Mamane wrote: > >>>> At this point, I'd say, even more strongly than usual: the one that >>>> will do it will decide. Upgrading to a modern Java-based database >>>> would maybe not be that bad after all... > >>> Sounds like I'd better get my finger out then! > >>> IF I can get the basics in place (and to be honest it is a big if), >>> are other people prepared to muck in and help with the bits I can't >>> do? > >> Now, specifically, duckduckgo-ing for "Pick" does not bring the >> expected results, so if you could give me some links to see what you >> are talking about? Thanks. > > Found > http://www.computerworld.com/article/2579803/business-intelligence/open-source-pick-like-database-being-developed.html > which sent me to "MaVerick" which led me to > http://www.maverick-dbms.org/doc/index.html > > I see that it can act as datastore for MySQL and PostgresSQL; this > gives the impression that it is a datastore, but there is no SQL > layer. What do you intend to use as SQL layer? Develop one? > Actually, Pick is a full-blown environment - "the database is the computer". So it's a hell of a lot more than just a datastore. And be careful, you might get me on to a full-blown advocacy rant ... :-) I'll try and keep it short, but Relational Technology (ie a First Normal Form database) is pretty much a con trick. It's a two-dimensional *MODEL* store, not a *DATA* base. imnsho, a First Normal Form database is in *serious* breach of Einstein's dictum "Make things as simple as possible, BUT NO SIMPLER".
Pick, now generically known as MultiValue, is an n-dimensional database, and can be shown to be a proper superset of relational. As a result it is smaller, faster, and can do anything relational can do. It's quite similar to (but a very different heritage from) Cache. And I know bashing Oracle is a sport, but my favourite Pick war story is a port from Pick (a variant known as UniVerse) to Oracle. After 6 months hard work, the Oracle consultants proudly told management that a complicated query was 10% faster on the Oracle system, than the old UniVerse system. That is, they were proud until the UniVerse sysadmin said "you mean your twin Xeon 800 machine is only 10% faster than my Pentium 90?". So. My plans. Implement a string class that implements the dynamic arrays that Pick is built on. Implement the data store - a hashed key-value setup. I didn't realise how widely linear hashing was used until recently, but it's the technology behind Sleepycat, behind hashed variables in Perl, and probably a fair few other places as well. On top of that, an integrity layer that enforces datatypes. This isn't part of standard multi-value, but imho is a massive omission. It'll be optional to switch it on, but if enabled it will ensure datatype integrity. On top of that we'll need a Pick shell, and a SQL shell. I'll then need a Basic compiler. A lot of stuff gets done in the database - should be done there - and it's needed for that. That's where I came a cropper last time I tried. And I got the impression StarBasic isn't being actively cared for - maybe these two could get together :-) I know Pick isn't the easiest of topics to google for, but some links for reading ... The wikipedia page (what else :-) https://en.wikipedia.org/wiki/Pick_operating_system A bit of a critique of Relational vs MultiValue (written by yours truly) http://grokthelaw.freeforums.net/thread/250/oracle-google A website about Pick. Note that the second like is again by yours truly... http://www.pickwiki.com/index.php/Main_Page http://www.pickwiki.com/index.php/MVDefinition Rocket Software now owns most of the variants of Pick out there. They bought U2 off of IBM (which I strongly suspect IBM sold because it was growing so fast it threatened to swamp their DB2 division - when they sold it it was 1/3 of the division, and it was reportedly growing at double figures per annum ...) They then bought out the original Pick Systems. http://www.rocketsoftware.com/solutions/dbms-and-application-servers/learn Then a couple more snippets - I don't know if you've heard of the data warehouse system called DataStage - owned by IBM. They acquired it when they bought U2, and they kept it when they sold U2 off. It was based on UniVerse, a MultiValue system. A large chunk of the banking system software market is owned by a company called Temenos, and it runs on jBase, another MultiValue system. If you happen to see a green screen in a travel agents, this is almost certainly the original Pick - it pretty much owned that market - and I strongly suspect it's still underneath modern gui software. So while you may not see a lot of Pick, there's actually an awful lot out there. And if you follow my links, you'll see I'm pretty comtemptuous of relational TECHNOLOGY. I actually think the maths is good, but FNF databases? No. To put it bluntly, I think a pure relational database is 50% good solid maths, and 50% cargo-cult ju-ju science ... :-) (Note that I'm not aware of any modern pure relational database. I know PostgreSQL implements arrays, and I think pretty much any modern relational database does likewise) I'm only too happy to go into this deeper, but don't say I didn't warn you if this turns into an advocacy fest ... Cheers, Wol _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice