sjordi 39 Posted June 9, 2021 Hi, Just saw the page about Absolute Database from the Embarcadero blog about the secret alternative for SQLite... But I asked them, but they didn't answer... To me being an alternative to SQLite means it's cross-platform. Is this the case? Absolute seems to be only Windows. Didn't find anything on their website. Any experience with that tool to share with the community? Thanks Share this post Link to post
MichaelT 6 Posted June 9, 2021 4 hours ago, sjordi said: Hi, ... Any experience with that tool to share with the community? Thanks The integrated everything integrated into an application with simplicity in mind is a Windows thing. No matter how you define alternative to SQLite the question is to whom does an application matter on a platform. In case of Linux I tend to think absolutely no one. Consider that most people tend to prefer something like small-foot print or light-weighted daemon based server rather than having to move a way from their SQL capabilities gathered over the years once being in the position to query data on their own is a must. That didn't change ever since SQL was introduced. Remember Access. Integration into the surrounding eco-systems of tools, backup/restore/repair and compatibility with tools and if a programming language is involved a certain kind of debugging facility. In order to get an impression if 'such a' database fits your purposes you will have to give it a try first. Don't trust any benchmark you didn't fake on your own. Usually all these so called hidden champions do their job surprisingly well. Have a look at blobs and encryption for example. All the well known alternatives of this kind of databases do their job pretty well and some of them are surprisingly performant. The Windows style of doing things is pretty different from the Unix/Linux style of doing things and Delphi style of doing things differ a lot more from the Windows style of doing so. Honestly I don't remember AbsoluteDB in particular. Today I think most DB solutions of these kind do their job pretty well. 1 Share this post Link to post
Geowink 0 Posted June 9, 2021 I have used Absolute for a long time and find it really easy to use and handle for anything I was doing. They have always responded to questions (few) and I would suggest trying it. Easy to do SQL stuff. Share this post Link to post
sjordi 39 Posted June 9, 2021 Thanks, They just answered my question and plan cross-platform support very soon. Quote We are planning to add cross-platform compatibility with macOS, iOS and Android support soon. This could be great news. I'll definitely give it a try. Share this post Link to post
Joseph MItzen 251 Posted August 13, 2021 On 6/9/2021 at 3:33 AM, sjordi said: Any experience with that tool to share with the community? Thanks I used Absolute Database a long time ago, so this might have changed, but.... ...it was SLOW. Incredibly slow. Queries that ran instantaneously in dbs like FireBird took many seconds to run in Absolute. In fact I recently ran across one of my old programs compiled with Absolute Database and ran it on a modern CPU and... yes, it wasn't my imagination. Still unbelievably slow on a system that has to be at least six times faster than the one the code was originally written for. I don't think SQLite needs an alternative; it hasn't become the most-used database in the world for no reason. Hence, there's no reason to look at Absolute Database for your embedded database needs. And for (almost) everything else, there's PostgreSQL. Unless your needs are incredibly exotic, these two can match or surpass any other solution for free. Share this post Link to post
Joseph MItzen 251 Posted August 13, 2021 (edited) On 6/9/2021 at 2:43 PM, sjordi said: This could be great news. Not really. Its website today is the same as when I used it 15 years ago; it still touts its number one selling point as the fact that it's a "BDE replacement". This db has "SQL 92 compatibility" in 2021. It has no window functions, common table expressions or other modern SQL features that you can get in something like SQLite (and once you use those, you never want to go back!). Its interface is the old TDataset style , e.g. https://www.componentace.com/help/absdb_manual/usingparametersinqueries.htm or even worse https://www.componentace.com/help/absdb_manual/addingnewrecords.htm. I'm not sure it's added anything since I last used it in 2005. Their news page seems to suggest I'm right: https://www.componentace.com/info/news.php Major update in 2008, one new feature added by 2010. Supposedly a major update in 2012 but it doesn't list any changes and there's no changelog or version history because, again, it's like it's still 1999 on the website. Every Absolute Database update seems to be a "minor upgrade". The fact that it still supports Delphi 4 suggests it doesn't incorporate any modern (or not-so-modern) Delphi features either. They also have three articles about why you'd want to replace the BDE with this, suggesting they haven't updated their marketing since circa 1999. Seriously, here's a web archive snapshot from 2005 and you can see nothing's changed: https://web.archive.org/web/20050807080939/https://www.componentace.com/ I know this community tends to fetishize proprietary software, but seriously this is an obscure db whose reason for existence was to replace the Borland Database Engine, which is long gone. There's no reason for it to exist today and you're not going to get anything for your $299 (software + source code) that you can't get for free, except perhaps grey hair from having to wait so long to finish your queries. EDIT: Good lord, under support they still list a FAX number and "ComponentAce is a Borland and CodeGear Technology Partner". Edited August 13, 2021 by Joseph MItzen 1 Share this post Link to post
MichaelT 6 Posted September 13, 2021 On 8/13/2021 at 5:06 AM, Joseph MItzen said: EDIT: Good lord, under support they still list a FAX number and "ComponentAce is a Borland and CodeGear Technology Partner". That's one just for the German government. The small-footprint(f) *) light-weight databases made/make lots of sense in environments where people managed(ed) infrastructure on their own. There is a use case in the steel works of my hometown. As a result of a problem in a plant the whole cabling including those related to the IT network melted. The multi-user application for a small group of about five people from the team responsible for repairs just drove the data-center, took the files and put them on a local share in an office within the plant to a local server. The Inventory system was required because one or two hours later about 200 to 400 people started the repairs and needed lots of materials and so on. This application didn't rely on Absolute DB, they relied on the other solution whose name I've already forgotten but you you know which one I mean. In several scenarios some features worked pretty fast. 'A better in-memory table covering multi-user scenarios' is not a bad choice but don't expect it to be a page oriented DB server. You should know better. In general for about 10 years know the demand for those seemingly 'esoteric' solutions has been shrinking radically. Honestly why not choose a different database from what anyone else uses? Hey. It's Delphi! Why bother with the 21st century, doesn't look that great until today anyway, when you can still program as if both Kurt Cobain as well as Elvis were still alive kicking. Kidding. As long as no one else but you or your application are fiddling with the data such solutions do their job pretty well. What I'm wondering is if ARM processors would give such plug-able persistence interface solutions a push. That's why I never really understood why EMB(T) didn't offer an ARM compiler outside iOS or Android an a minimalist frameworks allowing people to just port non visual stuff. I love such things. TurboDB, Apollo, Vista DB (.net only I think today), NexusDB, ElevateDB and so on are still great. Also here, except form niche scenarios people simply put their IT to a data-center and 'forget the crap'. Share this post Link to post
Frickler 11 Posted September 23, 2021 On 8/13/2021 at 4:41 AM, Joseph MItzen said: ...it was SLOW. Incredibly slow. Queries that ran instantaneously in dbs like FireBird took many seconds to run in Absolute. In fact I recently ran across one of my old programs compiled with Absolute Database and ran it on a modern CPU and... yes, it wasn't my imagination. Still unbelievably slow on a system that has to be at least six times faster than the one the code was originally written for. Using SQL, it's slow. But Absolute Database isn't made for SQL, but for good ol' ISAM: IndexName, SetRange, Locate, Filter, you name it. There (and in single user mode) it is really fast. And you not only don't need any DLLs to access it, you can even embed the database into the EXE (for read only databases such as catalogues). Share this post Link to post
oeko11 0 Posted June 6 On 13.8.2021 at 04:41, Joseph MItzen said: Ich habe vor langer Zeit Absolute Database verwendet, daher kann sich dies geändert haben, aber … ...es war LANGSAM. Unglaublich langsam. Abfragen, die in Datenbanken wie FireBird sofort ausgeführt wurden, dauerten in Absolute viele Sekunden. Tatsächlich bin ich kürzlich auf eines meiner alten Programme gestoßen, das mit Absolute Database kompiliert und auf einer modernen CPU ausgeführt wurde, und ... ja, das war nicht meine Einbildung. Trotzdem unglaublich langsam auf einem System, das mindestens sechsmal schneller sein muss als das, für das der Code ursprünglich geschrieben wurde. Ich glaube nicht, dass SQLite eine Alternative braucht ; es ist nicht ohne Grund die am häufigsten verwendete Datenbank der Welt geworden. Daher gibt es keinen Grund, sich für Ihre eingebetteten Datenbankanforderungen Absolute Database anzusehen. Und für (fast) alles andere gibt es PostgreSQL. Sofern Ihre Anforderungen nicht unglaublich exotisch sind, können diese beiden kostenlos mit jeder anderen Lösung mithalten oder sie übertreffen. Absolute Database ist ein dateibasiertes DMS wie Access, SQLite, FoxPro, dBase, Paradox. Es sind Datenbanken, die ursprünglich nicht für einen Mehrnutzerbetrieb gemacht worden sind. Beim Zugriff über das Netzwerk werden immer die Daten dieser Dateien übertragen. Das war schon immer so. Zwar ist Mehrnutzerbetrieb möglich, aber es sollte sich beschränken auf max. 2 gleichzeitige Nutzer. Wenn du einen Datenbankzugriff im Netzwerk und/oder mit mehreren Nutzern realisieren möchtest, brauchst du eine Server-Datenbank wie MySQL, MS SQL-Server oder Oracle. Das ist ein Grundprinzip für das Herangehen der Planung. Je weniger Daten über das Netzwerk übertragen werden, umso schneller ist der Zugriff auf die Datenbanken und deren Verarbeitung. Share this post Link to post