|Blackfish™ SQL - Frequently Asked Questions|
Q: What is Blackfish SQL?
A: Blackfish™ SQL is a high-performance, small-footprint, SQL-92 compliant transactional database. Blackfish SQL runs on both the .NET framework and on the Java platform. Database files and drivers are compatible between the two platforms.
Blackfish SQL is fully integrated with CodeGear RAD Studio, Delphi, C++Builder and Delphi Prism; and supports Delphi, Delphi Prism, C#, or VB language stored procedures. Developers can use RAD Studio's Data Explorer to easily manage their Blackfish databases. In addition, RAD Studio includes power meta-data classes for writing tooling and applications for creating and managing data as dictated by the needs of your application.
The design and implementation of Blackfish SQL emphasize database performance, scalability, ease of use, and a strong adherence to industry standards.
Q: What is Blackfish SQL RAD Studio Edition?
A: Blackfish RAD Studio Editions are specially licensed versions of Blackfish SQL included with CodeGear RAD Studio, Delphi Prism, Delphi and C++Builder.
Architect and Enterprise editions of the IDEs include unlimited Blackfish SQL database desktop or server deployment on systems with up to 5 users / 20 connections, and support for databases up to 2GB.
Professional editions of the IDEs include unlimited Blackfish SQL desktop database deployment on systems with 1 local user / 4 connections, and support for databases up to 512 MB.
Q: What is Blackfish SQL JBuilder Edition?
A: Blackfish SQL JBuilder Editions are specially licensed versions of Blackfish SQL included with CodeGear JBuilder 2008.
JBuilder 2008 Enterprise includes unlimited Blackfish SQL database desktop or server deployment on systems with up to 5 users / 20 connections, and support for databases up to 2GB.
JBuilder 2008 Professional includes unlimited Blackfish SQL desktop database deployment on systems for 1 local user / 4 connections, and support for databases up to 512 MB.
Q: Can I deploy Blackfish SQL RAD Studio and JBuilder editions on systems with a multi-core CPU?
A: Yes. Blackfish SQL RAD Studio Edition licensing supports multi-core CPUs (i.e. Dual Core or Quad Core CPUs).
Q: Has the one CPU limit been removed for deployment with the Blackfish SQL RAD Studio Edition and JBuilder Edition licenses?
A: Yes. The restriction on deployment to single CPU systems was has been removed. Limits on number of users and memory usage remain. Restrictions on CPU usage or performance may be added in future versions as software based limitations rather than license based limitations. Developers can now deploy applications with Blackfish SQL without having to worry whether their customers are running applications on single or multiple CPU machines. The updated license files are available at http://cc.codegear.com/reg/blackfish.
Q: Can I use Blackfish with native C++Builder and Delphi applications?
A: Absolutely. Blackfish SQL RAD Studio Edition is pure .NET application that runs within the .NET managed runtime providing memory management and server scalability advantages inherent to the .NET platform. High performance native Delphi and C++Builder connectivity to Blackfish is provided via the dbExpress 4 framework which is part of the native VCL framework. ASP.NET connectivity is provided via ADO.NET and VCL.NET connectivity is provided via dbExpress.
Q: What if I need to deploy on systems with more users/connections and larger database sizes?
A: Additional deployment licenses are available for situations where you need to deploy without the limitations of the Blackfish SQL RAD Studio Edition deployment licenses.
Blackfish SQL Deployment Licenses
These deployment licenses can be used for a single deployment of Blackfish SQL for .NET for Blackfish SQL for Java.
The Desktop license is for local connectivity only. Server licenses support both local and remote connectivity. Licensing is per server with no limits or additional charges for multi-processor or multi-core systems. These licenses also do not impose any limits on database file size or RAM cache.
Q: What are some of the top reasons to use Blackfish SQL?
A: Fully managed database solution
Blackfish SQL is a fully managed relational database management system. It’s available for either Java or the .NET 2.0 Framework. Blackfish developers can count on the safety, security, and control of managed code for their database server while not having to give up the performance that they are used to.
Embedded database with a small footprint
Blackfish SQL's assembly weighs in at only 1.3MB, and requires no special installation or administration. This makes for an extremely simple, easy deployment.
Simple, x-copy level deployment with all the power of a full RDBMS
Because the database engine is so small, deployment becomes nothing more than copying the assembly and the license file to its destination. That's it - no installer or configuration necessary.
Access to a fully managed framework and libraries when writing stored procedures
Blackfish SQL allows you to write stored procedures in languages native to its platform. This means Java for the JVM, and any CLR compliant language, including Delphi Prism, C# and VB.NET. This allows developers to access any code that is compatible with the platform in their favorite programming language. No longer are developers limited to SQL for writing stored procedures.
Hosted ASP.NET database solution
Because it can be deployed so easily, and because it is a completely managed solution, Blackfish SQL is a perfect solution for hosted web development with ASP.NET. The Blackfish assembly can be deployed like any other .NET assembly. Thus, developers can save the cost and hassle of dealing with hosted database solutions.
Q: Which industry standards is Blackfish SQL compliant with?
A: Entry level SQL-92 compliance
Unicode storage of character data
Unicode-based collation key support for sorting and indexing
dbExpress 4 drivers for Win32 Delphi and C++
ADO.NET 2.0 providers for .NET
JDBC for Java
JavaBeans data access components for Java
XA/JTA Distributed transactions for Java
Q: What are some of the features of Blackfish SQL?
Blackfish SQL can be run as a Windows Service, as a standalone server or as an in-process, embedded database
High performance and scalability for demanding online transaction processing (OLTP) and decision support system (DSS) applications
For Windows, stored procedures and triggers can be written in any CLR compliant language, including Delphi Prism
For Java, stored procedures and triggers can be written in Java
Zero-administration, single assembly or single-jar deployment
Database incremental backup and failover
Q: How do I choose between Blackfish SQL and InterBase?
Here are some questions and answers to help you choose:
Q: Which development tool/language are you using?
A: Delphi for PHP .. InterBase
3rdRail or other Ruby → InterBase
Delphi/Delphi Prism/C++Builder/RAD Studio → InterBase or Blackfish SQL for .NET
JBuilder or other Java → InterBase or Blackfish SQL for Java
Q: What type of app are you building/deploying?
A: An all .NET solution → Blackfish SQL for .NET
An all Java solution → Blackfish SQL for Java
A Windows solution → InterBase or Blackfish SQL for .NET
Another type of solution requiring a natively compiled embedded database and database server, supported on Windows, Solaris, Linux, and Mac OS → InterBase
Q: Are you deploying to systems where you don't want to use the Java or .NET runtimes?
Q: Do you need failover and clustering for use in a high availability environment?
→ InterBase or Blackfish SQL for Java
Q: Do you want to use stored procedures and triggers?
A: SQL stored procedures and triggers → InterBase
Java stored procedures and triggers → Blackfish SQL for Java
.NET CLR language stored procedures and triggers → Blackfish SQL for .NET