Opinions on Valentina Database Server?

I was looking at databases last night for a customer who is totally Mac centric- runs stuff only on Macs and has since the 90s. I like this guy myself… :slight_smile:

However, that limits the possible database servers, and I was looking at Valentina DB Server. I like the way they seems to think on their website, I like the prices, I like there is developer support, nice that they offer a small 5 user version of it at no cost, and so on. Lots of things to like about this little database server.

However, after licensing the server and getting it running correctly, I managed to get myself stumped twice in the GUI application; it allowed me to define a table, with an index and so forth, but not to save it. Also, I could not find any easy way to tell it where I wanted to put the database files, it just kinda stuffed them where it wanted. Also, the connection display on the GUI seemed to disappear, so I had to login more than once. Which is when I discovered those connections were not really going away, just not displaying. The five user limit works just fine! :slight_smile:

Are any of you guys using this database? Do you feel it be worthwhile to find the manuals and read through them? I am not the worlds most expert DB person, but I have not had trouble wrangling various versions of DB2, Oracle, Informix, Empress, Ingress, ADABAS and others around to my liking. It really surprised me simple tasks like those above appeared to be so difficult.

Of course, I many be misjudging the beastie- if it is primarily intended as an embedded database, that may be why it didn’t act as I expected. Or I may be a victim of tunnel vision. :slight_smile:

Opinons welcome please.

I don’t work for Valentina so I can’t say officially. However the database is primarily designed for embedded use. However the server component of it makes it a full fledged server that can handle multiple connections.

So when you are using it in embedded form as say a companion database to a desktop app you can place it wherever you want it. You are utilizing the Valentina plugins/libraries to manipulate that database file wherever it sits.

When you are using it in server mode the server handles placement of the database files. The plugins/libraries you utilize to access it are just client connection libraries and not the full stack. They may share components and the library may be capable of working in either mode but at the end of the day… the server is handling the files.

You can on the server side if I recall change the default directories in the configuration. On a Mac this is less interesting because its likely already in an intelligent location. Remember if you are running in server mode then it’s accessing the raw database files. You don’t want to be connecting directly to the files while simultaneously running it in server mode. So where the files sit is less important given those constraints.

Any specific reason why MySQL isn’t in your list?
I don’t know what it’s for but in my case (unless there are specific requirements) I always stick with MySQL (stable releases) and InnoDB. I do everything with prepared statements and transactions so I’m doing ACID and fine in 99% of the cases.
From tiny to larger clustered setups, I see MySQL as an allrounder that never gave me any problems.
Now I must admit that I haven’t used it in combination with Xojo yet but if the Xojo MySQL driver ok, I can’t think of a reason why you would ever run into any issues.

Of course, if the client prefers, I do Postgres, Oracle, DB2, MS SQL Server etc but if the choice is mine, I go for MySQL because it’s so simple and fast to setup and easy to manage.
For MySQL backend/DB setup, I use phpMyAdmin but maybe that’s because of old habits. There is a ton of info available MySQL so you will always find your answer if you run into a problem.
If you want to set it up quickly on your test machine so you can play with it, install a package like MAMP or XAMPP.

MySQL licensing would make it a bad choice if you want to distribute the database alongside the application.

MySQL has licensing issues. http://searchitchannel.techtarget.com/feature/Using-MySQL-licensing-Open-source-license-vs-commercial-license

I have migrated away from MySQL and its variants due to the licensing issues. I have consolidated down to two(or three) now. I use a lot of SQLite but that is a single application/computer dbase and not lots of people connected to it. And I use cubeSQL (which is a many person/apps version of SQLite). The one that I am starting to use (in replacement of MySQL) is PostgreSQL.

I can’t speak of Valentina. The people I know that use it, love it.

[quote=192842:@Phillip Zedalis]
You can on the server side if I recall change the default directories in the configuration. On a Mac this is less interesting because its likely already in an intelligent location. Remember if you are running in server mode then it’s accessing the raw database files. You don’t want to be connecting directly to the files while simultaneously running it in server mode. So where the files sit is less important given those constraints.[/quote]

This is very interesting to me since I have different DASD spaces setup for different purposes. I really don’t want something creating a set of database files for a server in my Library space or under Applications, wherever it seems choose to. I could not find any way to set where I wanted it to create the files.

For an embedded server, it isn’t a bad choice at all, again depending upon how large the data is, where one wants it stored, etc.

Just my opinion though - might be perfect for another application. :slight_smile:

-Paul

IRT: MySQL - it is a fine product and many people are happy with it. As noted, I find some issues with the licensing in certain situations, but more to the point, as a server, it lacks some things I really like and need, and I have less confidence in it than I do in other products.

Not really many of which I can use on a 100% Mac deployment, unless I can talk the client into Virtual Machines. :wink:

Just taking the very bottom layer of a few products -
Oracle Express is free, with a limit of 2CPUs, One Gig of RAM, and a total of 11G of user deployed data. It requires virtually no maintenance, runs on Windows or Linux and fits the needs of many many small deployments. Moreover, you gain capabilities lie Database Resident Connection Pooling - for small transactions, like ACID or Web stuff, this greatly increases the speed without the complexity of setting up a web application server with built in pooling. More, you can deploy clients on just about any platform that exists, including MacOS and zLinux.

DB2 Express-C - is once again free, allows up to 8 CPUs, 8GB of RAM, and 15 Terabytes of data to be managed. DB2 has some interesting capabilities in this version, things that are appealing in some situations. That’s besides the huge amount of user data you can store in it. PureXML, Native JSON, built in Encryption, and it will compress backups automatically. Does not work worth a tinker’s darn on MacOS though. JDBC and ODBC drivers are about it.

As well, both databases allow one to grow into enterprise class products should the need arise, with virtually zero changes. DB2 can be officially supported with a contract, and Oracle pretty much supports Express very well indeed.

Then you get into the realm of needing a small, fast, supported database, and that is where MySQL starts hitting into play, along with PostGres, FrontBase, C-TRee ACE, 4D, Berkeley DB, SQLite and CuBASE, and I hope, Valentina. It really seems like a good product, and the diagramming tool is innovative, to say the least. (I have used tools that cost 10’s of thousands of dollars that this appears to be better than.) Except of course, I can not seem to get it to actually create tables… (grin) I attribute that to my own stupidity, rather than any fault in the program though.

Appreciate the points you guys are bringing out though, it helps me keep a clear head. And all of you have more experience with database work in Xojo than I have. Y’all need any Cobol, C, Ada, or HLASM help though, I’m your guy. :slight_smile:

You could use MariaDB instead, just a fork of MySQL.
And of course PostgreSQL would be a very good alternative.

Valentina is a fine product but the documentation sucks. I tell that the ukrainians every couple of months - but it hasn’t improved, yet.

There is a Wiki that may help you at http://www.valentina-db.com/dokuwiki/doku.php . Or you simply ask on the Discussion board. Ruslan usually answers questions relatively fast.

Why does nobody talk about OpenBase?
Yes, it is not free, but is runs on Linux and Mac.
I have been using it for more than a decade now and it is rock solid
and is virtually maintenance free

There is no native Xojo db plugin for it that I’m aware of. So you’ll have connect via ODBC, or find the Real Studio classes that Norman(?) developed years ago that allow you to connect to it.

I’m sure it’s a fine database but it’s just not a common one in the Xojo community.

There is or was. On their website it is mentioned as a REALbasic plugin. Couldn’t find out from the website if it is still updated.

It hasn’t been a plugin since about 2006 or so
It still gets updated regularly
The REALbasic Connectivity Module on http://www.openbase.com/index.php/products/downloads

[quote=192949:@Gerd Wilmer]Why does nobody talk about OpenBase?
Yes, it is not free, but is runs on Linux and Mac.
I have been using it for more than a decade now and it is rock solid
and is virtually maintenance free[/quote]

Cool!

I am always attracted by two things in OpenBase - first they have true variable length record processing, something that keeps some of the processing in my day job running on VSAM files. (!) Secondly, they have database replication similar to what DB2 can do, though I don’t think they ever carried it forward into true federated database systems. I could be wrong on that.

Their website shows the last updates as being somewhere around 2012 though; are they still actively developing and supporting their product?

Yours,
-Paul

At one time OpenBase was preinstalled on OS X (I forget if it came with Xcode and dev tools or not but it was just there).
Apple changed that and so it no longer is.
Yes its still used.
The original developer has another business they run on it so it is updated & maintained in part because they require it to be.

Have a look at PostgreSQL, it is a powerful DBMS without the licensing issues of MYSQL. And if you are on a Mac, then checkout the postgresapp for an easy install.

It may or may not matter to you, but if you are deploying Valentina Server, it also includes the Reports Server. The embedded ends are separate (and Reports works with several different databases, not just Valentina).

If there’s some part of the documentation that you’d like more information on, you should let us know. It does get updated now and then by some of the development team - there are varying English capabilities there. But if something is really a stumper, then ask and put up a URL and we can get it polished and edited. Don’t just say “It all sucks” :wink: We can’t update it all at once, but we can respond to “suck rate” and work from there.

I’m going to read the Valentina Wiki again tonight, and give it one more try. So many people like this database, I must be dense to be unable to configure it. :slight_smile:

Action Plan:

Install Valentina Server on a separate disk
Install client, create three tables.
Populate some data into those three tables
Write Xojo sample to connect, and read / write to the VS database tables.

How basic can one get? (Pun intended) :wink:

-Paul