lynnfredricks.com

The Technology Tribe

Single vs Multi-User Database Licensing Compatible with REALbasic

without comments

Bart Silverstrim recently asked an interesting question on the REALbasic Mailing list about single vs multiuser databases and the REALbasic Standard license. REALbasic comes with a single user version of a SQLite based database. What exactly is the difference between a single user and multiuser database?

SQLite is a public domain database engine that was developed as a single user/single connection database; that is, SQLite was never intended to be a multi-user database engine with capabilities that optimize it for networked databases.

Bart’s question was:

What exactly makes a database “multiuser”, according to the license? RB Standard has a single-user license. If you make an application that lets two or three people use a client program that connects over a socket to a server application, like an RB web server made by the standard version and stores wiki-like entries in the database…is it single user because it’s only one database being used by one application, the server? Or is it multiuser because multiple people are using (non-database equipped) clients to communicate with the server application that does use the database?

This is an excellent question. What makes a database single user or multi-user?

In Valentina parlance, a single user database supports a single connection at a time and accepts no others until the first connection is released. The scope of this definition is the database components themselves, not the applications that may interact with the database. For example, you could have a local database that is utilized by several applications. Yet only a connection from one application would be accepted at a time. A single user database does not by definition preclude accessing the database over a network.

A multi-user database allows multiple, simultaneous connections – meaning, its effectively a database server, regardless if the database is accessed on the internet, across a closed network or somehow, multiple users in a shared, virtual environment.

Among other considerations in licensing database servers are if connections are effectively named seats. Some vendors require a connection to belong to a single seat or a single person. In an unnamed seat model, it doesn’t matter how many users there actually are of a database server – it only matters how many connections are supported by the database server.

In Valentina Developer Network, Valentina Embedded Server can be deployed royalty free and in unlimited quantities, and it supports five simultaneous, unnamed connections at the same time. VDN developers can buy and then resell to their users, additional connections or licenses for VDN Embedded Server Infinite. But since Valentina Embedded Server in its standard configuration already supports five unnamed connections, this can be effectively utilized in environments where there are many, many more than five users, because these five connections can be shared among any number of actual users. I’ve found that this is easily utilized by an office of 25 to 40 users, provided that the applications developed around it are economical in managing those connections.

Written by Lynn Fredricks

September 8th, 2007 at 8:59 am