OpenLink Virtuoso vs Virtuoso Universal Server - database

At the risk of this question being closed, I'm going to ask it anyway since I'm quite lost, and I really need to make a decision.
I'm inclined for OpenLink Virtuoso at the moment since it's open source.
However, does Virtuoso Universal Server (commercial) have more features compared to OpenLink Virtuoso (open source) or are they [very] similar? Am I missing something if I use OpenLink Virtuoso and don't upgrade to the commercial "Virtuoso Universal Server"?
I'm sorry to ask, but the web pages are not clear enough for me. I can't get any clear cut answer from the online documentation.

This is certainly not a programming question, so really not appropriate for StackOverflow. As it's about comparisons between two products from the same company, OpenLink Software (my employer), it's most appropriate for the OpenLink Community Forum.
That said, in short, yes, Virtuoso Enterprise Edition a/k/a Commercial Edition has several features that are not in Virtuoso Open Source Edition a/k/a VOS. Significant differences include Custom Inference Rules, Attribute-Based Access Control (ABAC), Rule-Based Access Control for RDF Named Graphs, Federation/Virtualization of external SQL and RDF data sources, Replication Cluster options, Elastic/"Shared-Nothing" Cluster options, and more. We publish a useful feature comparison matrix, comparing VOS with Enterprise Edition from v5 to v8 (current).
All that said, you can start with VOS and migrate to Enterprise Edition if and when you discover a need for the Enterprise features, just by replacing the executables; the database does not need to be rebuilt. (Reverse migration is possible but takes more work, as this direction does require a dump and reload.) Similarly, you can start with a low-scale Enterprise license, and upgrade when/if you need to support more users, use more processors, add optional features, etc. You don't pay twice, as scale-upgrade licenses are priced at the difference between the existing and the new.
More details about any of the above are best gathered through the OpenLink Community Forum or by contacting our Sales team.

Related

Choosing database and licensing for Delphi application

We have Delphi XE2. We are looking for a database for our application. We have tried Absolute Database and it supports most of SQL commands we need. I see most of Delphi users choose Firebird but it seems to hard to work with. I am so much confused about databases and licenses. Here are my problems:
When we choose a database, let's say Absolute Database, Firebird, MySql embedded etc. and if we have for example 3.000 customers, do we still need to pay to Database developers? Or is it one time fee? I am so much confused because they say when we buy, we can use it inside our building ( http://www.componentace.com/order/licenses.php ). But when we release our software, our customers will need to use the same database of course.
Absolute DB is easy to install and supports most of SQL queries. Firebird does not support most of SQL queries. Is this correct?
When we try to use Firebird, we use FlameRobin to design database. But when we try to connect using IB components, it says "Unable to connect database".
Thank you very much...
Firebird has no licensing fees at all. However, it's smart to help maintain this great project once you rely on it. There is a lot of ways to help Firebird project:
http://www.firebirdsql.org/#consider-your-contribution
Not correct. Firebird is very powerful and supports most SQL standards plus a great SQL extensions for stored procedures and triggers
Check your database connection string. It's usually something like server_ip:full_db_path if you're connecting over a network, or just full_db_path if local. You can always use an ALIAS in place of full_db_path. Make sure you have Firebird server running or, if using embedded, if it's installed correctly. Firebird has a great and very complete documentation and one of the best support groups on open source projects.
It depends on database. Absolute Database is embedded database, everything is included in your exe. Most database engines however are standalone, so they are installed as applications. It looks like if you buy commercial Absolute Database licence, no royalties are needed: http://www.componentace.com/order/order_product.php?id=8
Firebird supports most SQL standards. According to this answer, most SQL compliant embedded database is Firebird: Which embedded database has maximum SQL compliance, and concurrency support?
You must have some configuration issues with IB components, hard to say more without more information. On the otherhand, IB components are for Interbase, so you might find something else better, like UIB.
If you'll choose Firebird, then take a look at IBExpert. This is absolutely the best administration tool available for Firebird. But not cheap. =(
You should also look at Interbase, also marketed by Embarcadero, the Delphi vendor. Interbase is not the same thing as Firebird, which is probably why the IB components you mentioned didn't work.
Yes, each customer will usually have to purchase the IB database. However, there are additional choices with Interbase, depending on how you structure your application. Check how they work and see if they can fit better with what you are trying to do.

Database Design: Is there a great program to prototype in and then 'export'?

I have been playing around with Visual Studio 2010 over the past few days working with their SQL Template. I have to say...BOOOOOOOO...not working.
Now I have had more fun with xsd's in Visual Studio's C#. I expected database design to be that easy or better but no such luck. Are there any applications out there that you would recommend for the novice headed towards medium skill sets on DB design?
Or, is it just better to bite the bullet? Should I sketch it out or is there a better app to help with this?
I personally start my design using diagrams in SQL Management Studio. If you are concentrated on DB design it really does a good job. If you are more worried about class diagrams then Enterprise Architect is really good tool if you can afford it.
Have you looked at Enterprise Architect?:
Latest UML 2.3 specification
XMI 2.1 import and export
Reporting in HTML and RTF
MDA transformations
Profiles and Technology support
Testing, resource tracking, maintenance
Reverse engineer source code in 10+ languages
Import database schema
Visualize XSD and WSDL source
Import .NET and Java binaries
From single users to large teams
Repository support for major DBMSs
Fast to load, fast to use even with large models
Shareable files or Repository based models
Version control with any SCC compliant tool
Role-based security built-in
Have you tried NORMA?
This can capture the design and generate DDL/XSD without overdoing it like, er, Enterprise Architect
I used to (2003-2005) use Visio for Enterprise Architects - which included reverse engineering and schema publishing, but it doesn't support the more recent editions of SQL Server.
You can however design using Database Diagrams in SQL Management Studio as another alternative, or you could try the Entity Framework (v4)'s Code First or Model-First approaches.
There's also some info on design tools here.
More on EF's Code First
A tutorial on EF's Model-First

Suggestions on including free database products to include in an application - SQL Server Express or other

I am working on an enterprise level product that is designed around SQL Server Express and specifically its features (views, concurrent users, stored procedures, CASE and IF statements).
Though we don't use any advanced SQL Server features, the database size limit of 4GB in the Express edition may up being a limitation. A work-around is that customers can move to more full-featured versions of SQL Server.
The problem is that SQL Server Express deployment is not easy, and the installer size is huge. This is a major drawback for someone looking to try our product. You don't want end-users to not buy a product because the download is huge.
Does anyone have any recommendations of a database that has a smaller footprint but all the features of Express and which can be migrated to express?
Check out SQL Server Compact.
If what you really need is just a relational database, you can probably use SQL Server Compact Edition or SQLite.
It depends what you're looking for when you say "all the features of Express."
Edit after comments and edited question:
It sounds like you need Express, but I hear you about the huge installer size, which will be an issue even if you embed it in your own installer ( http://msdn.microsoft.com/en-us/library/dd981032(SQL.100).aspx).
You could also offer several trial options:
Use an existing SQL instance (small download + instructions to configure DB)
Full, self-contained trial (big download)
Demo trial (small download, single-user database; no server required)
That way companies that have running SQL/Express instances don't have to download the installer again, if they don't want it, and those who just want to see how it looks and feels can get the "demo" trial, and those who simply must have the full-fledged product are going to see and understand that the database server component is what is huge and they'll have to be a little patient for it (or call/E-mail you for a CD copy).
PostgreSQL is one of your options.
Its not smaller, around 35M packe and over 100M unpacked.
But it fits your requirements by the licensing model.
It has all the features.
You can make the deployment easy because you can preconfigure the binaries version you can supply with your own software.
Users will never need to migrate because this is powerful enough (ex. Skype uses it for its backend)
EDIT:
An interesting alternative may be Firebird (free, 7MB)
and maybe some commercial ones like NexusDB
Check this Wikipedia article: Comparison of relational database management systems.
There's more than 50 RDBMS's listed and you'll probably find something that suits your needs.

Which tool can help generate a SQL server 2005/2008 database from E-R diagram?

In Visio 2003 Architect version I can generate a SQL Server Database on the fly from UML ER diagram. But there is no such a way by using Visio 2007. My question is: Any other good and latest tools can support ER-> DB or DB->ER very well for SQL2005/2008?
I think Enterprise Architect can do that too.
http://www.sparxsystems.com.au/
You can do the ER diagram on Visual Studio creating a dbml file and then export to a Sql Server script using the huagati plugin. http://www.huagati.com/dbmltools/
If you're looking for a free/open source tool to achieve this, you could try:
DBDesigner
From the website:
DBDesigner 4 is a visual database design system that integrates database design, modeling, creation and maintenance into a single, seamless environment.
It combines professional features and a clear and simple user interface to offer the most efficient way to handle your databases.
DBDesigner 4 compares to products like Oracle's Designer©, IBM's Rational Rose©, Computer Associates's ERwin© and theKompany's DataArchitect© but is an Open Source Project available for Microsoft Windows© 2k/XP and Linux KDE/Gnome. It is release on the GPL.
And it supports the following features:
Available on Linux / MS Windows
User Interfaced based on industry standard layouting software
Design Mode / Query Mode
Reverse engineering MySQL, Oracle, MSSQL and any ODBC databases
Userdefined schema-generation
Model-To-Database syncronisation
Index support
Automatic foreign key placement
Weak entity support
Standard Inserts storing and sync
Full documentation capabilities
Advanced model printing
Output as image
All MySQL datatypes with all options
User defined datatypes
Database storage, ability to save model within database
Network-/Multiuser access through database storage
Version control*
SQL Query Builder
SQL Command History
SQL Command storage within model
Plugin interface
I think the bolded ones above (my own emphasis) should give you what you require (i.e. effectively two-way database/model synchronization).
I have used the tool in the past to reverse engineer an existing database to an ER diagram. From what I remember, it wasn't the most stable software I'd ever used (I seem to recall it crashed a couple of times) however, this was a little while ago so it may be more stable now.
I remember that in Visio 2003 that was only possible, I believe in the Enterprise Edition. Could that be your issue with 2007?
Most of the tools don't handle SQL 2005/2008 correctly. But CA ERwin® Process Modeler does the best job (at a cost though).
There is a community edition but it is limited to 25 objects per model.
Give it a try and let us know.

What are the real benefits of Visual Studio Team System Database Edition (GDR)?

Interested if anyone has used VSTS Database Edition extensively and, if so, which features did you find the most useful over the standard Visual Studio database projects?
What are the most compelling features as opposed to alternative schema management options or tools like RedGate's SqlCompare etc?
Edit: Microsoft just released the RTM version of Database Edition (GDR) which adds support for SQL Server 2008 - link is here. I've previously blogged (briefly) about it here.
Has anyone had a chance to do any real work with the GDR? It looks like there are some real enhancements including refactoring support. I'd be really interested to hear if people are using it with SQL Server 2008...
Download From: [http://www.microsoft.com/downloads/details.aspx?FamilyID=bb3ad767-5f69-4db9-b1c9-8f55759846ed&displaylang=en]
We use the database edition functionality of Team Suite on Stack Overflow. As Vaibhav said, mostly it is useful because it gives you a one-click way to reverse engineer a database into source control, and keep it up to date.
Note that it also has decent Data and Schema compare tools as well. You can compare projects to physical databases and vice-versa. This makes it pretty easy to keep your database up to date, no matter where you make changes -- in the filesystem database project, or in the physical database itself.
If you compare it to tool like RedGates, that are specifically taylored for SQL Server, the benefits are that if you have the proper MSDN subscription you do not have to spend more money for other tools (but keep in mind that RedGate tools are much more mature) and it covers some points (like regression tests and unit tests at the DB level) that other tools do not cover and it make so in a integrate manner with other testing tool of VSTS, so that you can record results in Team System.
Compared to a tool like Embarcadero ErStudio (my solution of choice) it misses the cross database features, and this is a big problem, at least for me.
If you are a "all Microsoft" shop with the proper MSDN subscription it could be worth spending time on it.
We are currently using the GDR 2008 projects for managing our entire database development and deployment on a greenfield system. We use a TFS build script to call out to the MSBuild task for deploying the databases along with executing the data generation plans for pre populating the testing environment with data.
The key with the data generation plans was finding the build task to use which is :
TaskName="DataGeneratorTask"
AssemblyName="Microsoft.Data.Schema.Tasks, Version=9.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
All of this gdr project work has been unbelievably helpful and I think it is well worth the learning curve to get to know these project types. The value they provide is astronomical in productivity and visibility.
It allows us all to view the entire system in a single visual studio solution along with allowing us to start with a clean slate of our system at any point in time with either a click of the deploy command or a custom build configuration.
This blog
will help with getting the TFSBuild script to run if you're interested.
The VSDB test integration is so painful to configure that we abandoned it, and that's the only thing it's got that Red-Gate doesn't.
Red-Gate's tool is miles more useful. It does live DB and scripts in folders, but also has "snapshots." The aspect of Red-Gate SQL Compare that gives it the win is its Snapshot ability and the fact that your license allows you to deploy their assemblies and use them to perform database maintenance at customer run-time.
It has made upgrades in the COTS application that I develop a breeze. A Snapshot is a binary schema representation. You can package them as resources in an assembly, then use the snapshot in a customer run-time schema compare to bring an existing database up to the current rev.
Probably the best advantages are around being able to version control individual DB schema objects (which you could do with the older "Database Projects"), but have the power to "build"/deploy the project and convert those individual scripts into a complete database.
The ability to import scripts and have the Wizard covert individual schema items into separate files is very handy if you've inherited a DB schema.
Given that recently the licensing model changed, it makes it even more enticing because it's included with the Developer edition SKU. It also provised support for "Database Unit Tests" which might be useful.
From the 2008 GDR, I understand that they now support SQL Server 2008.
You can do database versioning for one. That is useful.
The other thing that is really useful is the ability to define type of seed data for testing. Through this Visual Studio will populate the database with random data and this is great for testing purposes.
There are other benefits as well of course.
It is always useful to put everything under the same source control, so your data-dude can be shelving, checking in, compare with history, and even resolve workitems and bugs using the same tools that other team members are using.
Also to be able to have one versionning mechanism across the whole application, in other words, it doesn't make sense to say that my source control has all the versions of my project while your database can't fit with any of these old versions, unless you take a backup or a snapshot of the database with each build.

Resources