Objectivity FAQs
- The Company
- Market Positioning
- Support
- Licensing
- Regulations and Standards
- Quality
- References
- ODBMS versus RDBMS
- Performance and Scalability
- Technical Overview and Datasheets
- Tools and Third Party Products Support
- Configuring and Supporting Systems
- Languages and Platforms
- Downloads
The Company
Is Objectivity a publicly traded company?
No. However, unlike the public companies in the ODBMS marketplace, Objectivity managed to maintain its profitability during the FY2002-2003 economic downturn and continues to remain profitable today.
How long has Objectivity been in business?
Objectivity was founded and incorporated in 1988. The first product was released in 1989.
How big is Objectivity (revenue etc.)?
That information is confidential. However, please look at our latest Press Releases for a summary of our recent results.
How many people work for Objectivity?
About 50, mainly in engineering and customer/technical support roles. All product development is done in the USA. There are sales offices throughout North America and Europe, support offices in Canada and the United Kingdom, and distributors in Europe and Asia.
Is Objectivity a US company?
Yes, Objectivity is incorporated in California. All engineering and ongoing customer support is done at our headquarters in Sunnyvale, CA. There are local sales and field support offices in Canada, the United Kingdom and the USA. There are distributors, who sell and provide local first-line support, in Europe and Asia.
Does Objectivity have cleared personnel?
Yes.
Is it "Objectivity" or "Objectivity/DB"?
"Objectivity, Inc." is the company. "Objectivity/DB" is the name of the core object database product developed and sold by Objectivity, Inc. There are many optional products, such as Objectivity/SQL++ and Objectivity for Java.
Market Positioning
What are Objectivity's main markets?
Objectivity's main markets are defense and the intelligence community, complex manufacturing operations such as process control, telecommunications, financial services, life sciences such as bioinformatics and medical equipment, and data intensive sciences such as high energy physics.
Where does Objectivity position itself in the database market?
Objectivity/DB is better at handling complex data than its competitors. It scales better, is fully distributed and interoperates across all supported hardware, operating system and language environments.
Who are Objectivity's main partners?
BEA, HP Compaq, IBM, Intel, LynuxWorks, Motorola, Ontology Works, Rational, SGI and Sun. [Full List]
Who are Objectivity's main competitors?
There are several vendors who deliver object database products, including Progress Software (ObjectStore) and the recently merged Versant/Poet.
Does Objectivity compete with IBM, Oracle or Sybase?
Objectivity does not directly compete with DB2, Oracle or Sybase though there are sometimes situations where any database might do an adequate job. Objectivity/DB is an ODBMS designed for highly computational transactions on complex, highly interrelated data, rather than OLTP transactions on simple data.
Is Objectivity represented overseas?
Yes. There are distributors in Europe, Japan and Korea. [Full List]
Support
Who will support Objectivity/DB at our customer site if there are any issues or problems?
You should provide first line support to your customer. If you discover or believe that the problem lies within Objectivity then you should contact Objectivity Customer Support online, through your Account Representative or by calling
What kinds of product support arrangements are available?
Standard support is via email, telephone or fax and is provided from our headquarters in Mountain View, California. You can also buy 24 x 7 support, generally for deployed systems. In some cases you may need to lock down a particular release of Objectivity/DB along with the hardware, operating system and compiler versions. This Custom Support can also be bought from Objectivity. Please make sure that you have read and understood Objectivity's policy on supporting outdated releases. [Further Details]
Do you provide support outside of the USA?
We have distributors who supply first line support in many European countries plus Japan and Korea. We support other countries from our headquarters in Sunnyvale, California. [Further Details]
How can I find out about upcoming releases of Objectivity/DB?
The Objectivity Customer Support area has an area that discusses potential and committed features of new releases. There is generally one major release of Objectivity/DB per year. Changes to underlying operating systems or development environments, such as a new release of Java, may result in a minor release. Important bug fixes may result in an incremental release. You will be notified of the availability and purpose of all new releases via a technical bulletin that is emailed to your main contact. Internal Research and Development [IRAD] partners will find additional information in their section of this site.
Licensing
Is Objectivity/DB free or Open Source?
The Eclipse IDE is distributed under an Open Source agreement. The plugins to Eclipse and the Objectivity/DB family of products are standard, licensable software products. However, our support web site provides a variety of downloadable sample code and class libraries that have been donated by our users. Some of the software on the web site may fall into the categories of freeware or Open Source. Any such software is labeled appropriately in comments in the code or in an associated "Readme" file.
How does Objectivity license its products?
There are two main kinds of license: Developer Licenses and Runtime Licenses. There are base products and optional products. Each product release is licensed for a specific application or site on a particular platform and language combination, e.g. Active Schema for Java on IRIX 10.x - Objectivity Release 8.x. Objectivity has a General Services Agreement that can be used by US Government customers.
How much does Objectivity/DB cost?
There are separate prices for Developer Licenses, Runtime Licenses and various grades of support. Please contact one of our Sales & Account Repesentatives for help.
Can we quote a price for Objectivity/DB within our proposal?
No, not without a formal relationship with Objectivity. Internal Research and Development [IR&D] licensees will find an online Pricing Template Form in their portion of this site. It generally takes less than one business day to authorize a quote once the Pricing Template Form is submitted correctly.
Is it better to have our customer license the Objectivity/DB software directly from Objectivity?
This really depends on whether or not you already have a contractual arrangement in place with your prospect or customer. In general, you should find it less complicated to have the customer license the software via your own contract as the generic support arrangements have already been agreed between your company and Objectivity. It also reduces the risk of Objectivity delivering software or services directly to an end user without your knowledge. Please be sure to include the agreed legal statements in your contract.
Can I build and ship a demonstration system to a prospect under the terms of an Internal Research and Development [IR&D] license?
Yes, provided that you are not being paid for the system that you are delivering (excluding travel and subsistence reimbursement).
Regulations and Standards
Does Objectivity comply with Federal export regulations?
Yes. In particular, there is no use of export-restricted encryption algorithms. For further details please read our Terms of Use.
Is Objectivity/DB NIAP or ITSEC certified?
No. However, there is an option to include customer mandated security enforcement policies behind the Advanced Multithreaded Server, which is the remote server process that provides fixed size pages of data to a client.
Do you do any Engineering or Customer Support outside of the USA?
No. All Engineering and Customer Support is based in California. However, we do provide technical services, such as pre-sales support (without access to our source code), using distributors or or own employees in various overseas locations.
Can Government Organizations make unrestricted use of Objectivity/DB?
No. This paragraph, or something very similar, appears in our licenses:
U. S. Government Restricted Rights: Use, duplication or disclosure of the software or other information by the U. S. Government or any unit or agency thereof is subject to restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and the Government is acquiring only restricted rights in the software and limited rights in any technical data provided (as such terms are defined in such clause of the DFARS). If the software or other information is supplied to any unit or agency of the U. S. other than the Department of Defense, the Government's rights will be as defined in clause 52.227-19(c)(2) of the FAR or, in the case of NASA, in clause 18-52.227-86 (d) of the NASA Supplement to the FAR.
Quality
What does Objectivity do to safeguard the quality of its products?
Objectivity has always enforced a strict Quality Assurance [QA] policy, with QA rules and guidelines for all aspects of its operations, especially Engineering. There is a QA Working Group [QAWG] that meets bi-weekly and is chaired by our President & CEO. The corporate Quality Assurance Statement and the Terms of Reference for the QAWG are published here on our public web site because we are proud of our corporate QA ethic. [Further Details]
Is Objectivity ISO 9000 compliant?
No, because we haven't found it cost effective to become certified for that particular standard. We agree with the spirit of ISO 9000 and its software specific derivatives and we incorporate appropriate ISO 9000 recommendations in our own stringent QA discipline. Objectivity and its software have been successfully audited by companies that are ISO 9000 certified to ensure that their requirements for Third Party Suppliers are met. Objectivity was also proud to be honored by Emerson's Fisher Rosemount process control subsidiary in 1999. Objectivity was the first software company to be introduced into their "Circle of Excellence".
References
Can you provide customer references for me to use in my own proposal?
Yes, please contact your sales representative and he or she will locate suitable and willing references and introduce you to them.
Is there anybody else within my company who uses Objectivity/DB?
There may be. Please contact one of our Sales & Account Representatives for help.
Note: Internal Research and Development [IRAD] partners will find a list of references (both internal and external) in their section of this site.
ODBMS versus RDBMS
When should I use Objectivity/DB rather than an RDBMS?
If you can solve the problem with an RDBMS without a lot of effort and also achieve the performance, throughput and scalability that you need then there's no compelling reason to use an ODBMS. If any of the following conditions are met then you should consider using Objectivity/DB:
- Complex Relationships
If there are a lot of many-to-many relationships, tree structures or network (graph) structures. - Complex Data
If the data has multiple varying length components, particularly multi-dimensional arrays, arrays of structs or binary streams. - Distributed Databases
If the databases need to be geographically distributed, used in a detached mode or are accessed from a processor grid [or "farm"]. - Multiple Languages or Platforms
If the system will use multiple languages and/or platforms. - Repetitive use of Large Working Sets of Objects
If your application performs many successive transactions on the same "working set" of objects. - Massive Scalability
If you have very large amounts (Terabytes or Petabytes) of data, databases at large numbers of sites or a very large numbers of clients. - Expensive Mapping Layer
There is no need to decompose objects to fit into rows and columns; or to give up on doing ad hoc queries by storing binary data as BLOB [Binary Large Objects]; or to construct artificial JOIN tables to express many-to-many, tree and network relationships.
Why is Objectivity/DB faster than an RDBMS?
Objectivity/DB is faster than an RDBMS in many instances. It may have equivalent, or even slightly worse, performance in some cases. It is almost always faster than an RDBMS in the following cases:
- Complex Relationships
If there are a lot of many-to-many relationships, tree structures or network (graph) structures then Objectivity/DB will traverse those relationships much faster than a relational database. If an object is linked to N other objects then an RDBMS will probably perform 2*N B-Tree [index] lookups and 2*N logical reads (into the rows of the JOIN and the target tables) to retrieve information from those other "objects". Objectivity/DB will do 1 B-Tree lookup and N+1 logical reads. - Complex Data
If the data has multiple varying length components, particularly multi-dimensional arrays, arrays of structs or binary streams then Objectivity/DB has a very powerful Storage Manager that is built to manipulate those kinds of data. Relational databases are designed to manipulate data structures that neatly fit into rows and columns, where the latter are preferably of fixed length. - Distributed Databases
Central servers are convenient to manage and describe, but they represent a performance bottleneck and require extensive monitoring and tuning. If it makes more sense to distribute data across machines or sites then Objectivity/DB offers a powerful and simple solution. Databases can be distributed and/or replicated around a network. They may be at different sites or simply spread out across multiple data [page] servers. The clients are presented with a single logical view of all of the objects in a federation of databases. The clients do not need to know where the data resides. This makes it relatively easy to manage an Objectivity/DB distributed configuration, as the administration commands can be run from any authorized machine in the network. - Multiple Languages or Platforms
Objectivity clients and servers can run on a mixture of platforms (Linux, Unix, LynxOS or Windows). The clients can use C++, Java, Smalltalk, SQL++ or ODBC interchangeably. Objectivity/DB adds no constraints beyond those imposed by the various languages, e.g. Java and Smalltalk do not support multiple inheritance, whereas C++ does. SQL and ODBC do not support inheritance, but the Objectivity/SQL++ and Objectivity/ODBC interfaces extend SQL to handle inheritance. - Repetitive use of Large Working Sets of Objects
If your application performs many successive transactions on the same "working set" of objects then it may be possible to cache thoses objects locally, avoiding the need for disk I/Os and moving data across the network. Objectivity/DB uses smart caching to reuse objects that have been cached locally and that have not been outdated by other transactions. - Massive Scalability
The largest known relational databases are around 60 Terabytes. The largest Oracle database is believed to be around 30 Terabytes. The largest Objectivity database is approaching 900 Terabytes. Most relational servers slow down considerably as the number of concurrent transactions approaches tens of thousand. Objectivity/DB is used in distributed telecom applications that support peak loads of 150,000 active users per rack and millions of users across the whole network, such as SprintPCS. - No Mapping Layer
Objectivity/DB stores objects as objects. It does not need to convert them to serialized ASCII formats or break them down to fit into rigid row and column constructs. It stores many-to-many, tree and network relationships as named bi-directional associations, eliminating the need for JOIN tables. Eliminating the mapping layer not only saves programming time, it means that the objects can be stored and retrieved faster (because there are fewer I/Os) and with fewer CPU cycles.
Why haven't the ODBMS companies overtaken the RDBMS companies?
RDBMSs perform perfectly adequately for many types of applications, particularly in the regular Information Technology domain. ODBMSs target a narrow range of applications, so the potential market size is smaller. A loose analogy is that RDBMS companies are like the manufacturers of internal combustion engines and the ODBMS companies are like the manufacturers of jet engines. The two technologies service different markets, but there is a small degree of overlap. In general, ODBMSs can service all of the applications that an RDBMS could be used for, but the reverse is not true, at least not with anything like the same performance or ease.
The RDBMS companies also have a 15 year lead, so they have a well established and fairly loyal customer base, often with site licenses that conceal the real costs of ownership. Companies have invested a lot of resources and money to learn how to run their RDBMS technology, so they are slow to change technologies. ODBMSs are generally easier to learn and cheaper to own than an RDBMS, so an ODBMS is a more natural choice for a new product or company. The growing number of Java programmers means that ODBMSs can expect to increase their market penetration, but usually at the expense of home grown structured file systems rather than applications that are adequately serviced by RDBMS technology.
Performance and Scalability
How fast is Objectivity/DB?
There are many ways of measuring the speed of a database. Unfortunately, almost all of them are only suitable for relational databases. The industry benchmarks on object databases are over ten years old. Objectivity/DB can create new objects and store them on disk at almost the maximum rate that the processor-network-disk configuration can support. In one recent benchmark Objectivity/DB ingested and stored objects at the rate of 32 Terabytes per day. It randomly or sequentially reads data at similar speeds. If a client thread can reuse data that has already been cached in memory then there is no need to read the data from disk (or across a network) in subsequent transactions. Objectivity/DB can be configured with small client caches for streaming data, or with large client caches for repetitive use of large amounts of data. In the latter case, Objectivity/DB effectively becomes an in-memory database.
How much does Objectivity/DB slow down as my database grows?
The time to store and directly access objects stays almost linear as the container, database and federated database sizes grow. Operations that need to scan whole containers, databases or the federation scale linearly. B-tree indices behave in a predictable fashion. However, note that applications can often utilize small, local indices or hash tables within containers or databases, rather than global indices across a whole federation.
What happens if the number of clients increases?
It depends on what they're doing. If they all have to share the same data then the disk holding that data will eventually saturate. It may be possible to replicate the data multiple times to share the load. If they are accessing data on different disks then there is little noticeable effect. Eventually, there may be too many clients for a particular lock server. That problem can be solved by allocating multiple lock servers.
Technical Overview and Datasheets
Where can I find a quick overview of Objectivity/DB?
The product datasheets summarize the capabilities of each Objectivity product. The Technical Overview provides a more comprehensive overview, but you should also read the latest datasheets and press releases for the most timely information.
Where can I find information about the kinds of application that Objectivity/DB is deployed in?
Take a look at the general and industry focused White Papers in the Resource Center. There are news articles about specific customer deployments or industry initiatives in the Press Center.
I've looked at the information on this site and I need more technical details. Can I obtain copies of the technical documentation?
Yes. It's available for free along with the Product Download, or you can Contact Us to obtain hard-copies. If you have other questions, please feel free to contact us.
Tools and Third Party Products Support
Does Objectivity/DB have its own Database Administration [DBA] tools?
Yes. It has a comprehensive set of online tools driven by command line, GUI and plugins for the Eclipse Open Community Interactive Development Environment [Objectivity/Assist]. There are C++ and Java APIs to all relevant tools.
What kinds of DBA tools are there?
There are tools for: creating, moving, renaming and deleting federations and databases; for running online incremental backups; for importing and exporting data in various formats; for browsing and editing databases, containers and objects; and for administering various aspects of the High Availability product, such as database replication. This is not a complete list, so please refer to the Database Administration manual for the latest updates.
Can I run Third Party DBA tools to tune Objectivity/DB?
Hardware and operating system vendor tools will provide very useful information about Objectivity/DB processes, servers and I/O activity. However, DBA tools designed for relational databases will generally not yield much of interest as they do not understand the structure of objects.
Can I run any other (non-DBA) tools with Objectivity/DB?
Yes, there are fully supported links with software from Objectivity's partners, such as BEA and Rational. Also, any ODBC-compliant tool can be configured to run with Objectivity/SQL++.
Configuring and Supporting Systems
What do I have to do to deploy my database application once it has been Quality Assured?
If you will only be delivering software, without any preloaded databases, then all you have to do is create a "master" federated database containing the schema(s) that you compiled your code with. You copy the federated database, some of the Objectivity/DB runtime libraries (listed in the Database Administration manuals) and your own software and installation material onto the delivery vehicle (tape, CD, tar/ZIP file etc.)During the installation of your software you start one or more lock server and Advanced Multithreaded Server processes, then run ooinstallfd to make the federated database available. You then install your Objectivity/DB applications and start them up; or allow end users to install and start them.If you also want to deliver some preloaded databases (e.g. with configuration data, libraries or other groups of objects) then you use oocopydb to produce files that can be copied to your delivery vehicle. You then run ooattachdb after running ooinstallfd at the installation site.
What do I do if there is a runtime error in a deployed system?
You need to gather as much information as you can about the state of the system as you can. This topic is covered in the High Availability Deployment Review (a Professional Services Package). Each new release of Objectivity/DB introduces additional tools to help you and Objectivity's Customer Support Engineers diagnose and correct a problem. Some sites own very sensitive information, so special arrangements may need to be made to reproduce the error off-site with synthetic data.
Can you send Objectivity specialists to a site to help diagnose an urgent problem?
Yes, by special arrangement. Many of the Professional Services Packages are designed to help minimize downtime. Prevention is a lot less painful than a cure. Please contact Customer Support for further details.
How easy is it to configure an Objectivity/DB server?
Very easy. There are actually two kinds of Objectivity/DB server. All remote file I/O is performed by Advanced Multithreaded Server processes. Transactions are managed by Lock Server processes. Each or these has only a few configuration parameters to worry about, such as the number of threads to be run. Objectivity/DB uses a distributed processing architecture, so most performance tuning is done within individual client threads or processes, rather than within the servers.
How do I decide how to distribute the servers around a network?
It is almost always faster to access data on a local machine or LAN than over a MAN, WAN or the Internet. So, if it is possible to configure frequently used data as close to the local users as possible there will be significant performance improvements in today's networks. If the data is mainly read-only then it can be replicated to as many sites as necessary. Replication is transparent to applications. The Database Administration Course and the Database Design Review (a Professional Service Package) cover the physical design of a federated database in detail. The High Availability Deployment Review covers database and system resource replication.
How can I minimize the time it takes to store, find or update objects?
The application designers and programmers have a lot of control over the way in which objects are manipulated in memory and clustered on disk. It is possible to control the initial size, growth rate and maximum size of the in-memory cache. Objects can be clustered into the same logical page within logical containers and databases. The training courses plus the Database Design Review and the Performance Tuning Professional Service Packages provide full training on this topic.
Languages and Platforms
What languages does Objectivity/DB support?
Objectivity/DB supports the following languages: C#; C++; Java; Python, Smalltalk; SQL++ (SQL with object oriented extensions) and XML (for import and export only).
What platforms does Objectivity/DB run on?
Objectivity/DB runs on:
- HP Compaq - HP/UX and True32 UNIX
- IBM - AIX
- Intel Pentium and Itanium - Windows NT, 2000 and XP
- Motorola PowerPC - AIX and LynxOS
- SGI MIPS - IRIX
- Sun SPARCstation - Solaris
Does Objectivity/DB support SQL?
Yes. When a C++ or Java programmer introduces an object class to Objectivity/DB the tools or APIs automatically generate appropriate table and column views of that data for SQL and ODBC applications. SQL++ extends regular SQL to add inheritance, structured fields, methods expressed as functions and named associations. ODBC applications do not need to be aware that they are interfacing with an ODBMS rather than an RDBMS. However, some C++, Java and Smalltalk data types, such as multi-dimensional arrays, need to be represented as SQL VIEWS by writing appropriate conversion methods.
Does Objectivity/DB work with ODBC tools like Crystal Reports and Microsoft Access?
Yes. ODBC clients simply install and link an ODBC client side driver supplied with Objectivity/SQL++. The driver communicates with a server process that interprets the ODBC message and calls Objectivity/SQL++ to service the request.
Does Objectivity/DB work with XML?
Yes. There are XML import and export tools that handle class definitions and object instances. You can export objects created by any other language supported by Objectivity into XML files. You can import XML into an Objectivity/DB federation and then manipulate them in C++, Java, Smalltalk or SQL++.
Downloads
Can I download a trial version of Objectivity/DB?
Yes. It contains the latest release of all major platforms and languages. [Download Site]
Is it a restricted download?
The download is fully functional, i.e. no product features are inhibited or omitted. However, the License Manager will time out in 60 days. You may be able to extend your evaluation by contacting Customer Support. There are reasonable restrictions on what you may use the downloaded software for. You are not allowed to sell it or any application that embeds it without purchasing an appropriate license, for instance. Please read the Terms and Conditions in the download for full details. Internal Research and Development [IRAD] partners may have additional rights.
What is included in the download?
The download contains the Objectivity software, documentation, sample applications and tutorials.
What should I do if I run into problems or need clarification of technical features?
Contact Customer Support by email or fax.
What happens if I decide to purchase Objectivity/DB? Do I have to re-install it? What happens to the applications and databases I've built?
After you purchase Objectivity products we simply send you a new license. You do not have to reinstall the software. You simply apply the new license to any federations that you want to continue using with your newly purchased software. It takes a few seconds to run the tool. That's all that has to be done. However, we'd prefer that you also purchase training and appropriate Professional Service Packages, as we know that they can dramatically affect the quality, performance, reliability and maintainability of your new Objectivity/DB application.
