Correct evaluation and selection of object-oriented database

xiaoxiao2021-03-06  85

(Source: http://www.ccidnet.com) 1. As with the relational database, there are many object-oriented databases (ODB) on the market. However, OODB has no unified standards in prices, features, features and systems. This article will help you understand some differences between the various OODB systems, help you reduce the selection range when selecting appropriate ODB for your application. According to the standard, I use the reference material for evaluating these products is also a five-flowers. In most cases, the evaluation of this paper is based on personal experience and views; some details are available directly from the data sheet provided by the evaluation software or supplier. Be sure to make a comprehensive test for your application before making a selection. After all, your opinion may vary. The four OODB products we will analyze are

ObjectStore

,

VERSANT Developer Suite

,

Poet FastObjects

with

Objectivity

. Each product will be evaluated from the following aspects:

Price and license compatibility compatibility features scalability and availability

Second, prices and licensing project costs include two aspects: initial cost and maintenance costs. The initial cost is often dominated in the assessment, but the problem of annual support, online discussion, novice training should become a consideration of product costs. Even compared with its competitors, the price of OODB is usually very expensive.

Standard considerations ... Evaluation software can download freely and full-featured trial software. The development version of the license price is low price, and the number of users is based on the number of users. The product license price is low price, according to the number of CPUs, low annual maintenance costs. Travel support staff, a large number of useful technical descriptions, demonstrations, and forums. Active user community is a very enthusiastic user, the rich activities in the news group, and the support of the official website.

Third, compliance and relational databases compared to OODB generally not so strict on obedience standards. Most OODBs use their own unique way to achieve various feature. Since there is no clear standard evaluation OODB, the object database management organization (Object Database Management Group,

ODMG

The standard is the best criterion. However, all OODBs have brought some troubles. It is difficult to find a complete compassion of ODMG 2.0 or 3.0 norms (compared with 3.0 norms that have already a year, 2.0 specification is a fairly loose and imperfect specification. ). Maybe in the near future, we will use Java Data Object.

JDO

Specification evaluation Java OODB.

Standard Considering ... The obedience of "Object Definition Language" (ODL) is fully complied with the specification of the ODMG 3.0 specification. Compliance with Object Query Language (OQL) fully complies with the specification of the inquiry. Compliance with Java compliance with ODMG 3.0 specification means proper implementation of Java API / binding. Complete compliance with C is fully compliant, which means it correctly implements C APIs. The compliance of SmallTalk is fully compliant (if your system is unlikely to use SmallTalk, this is just an optional standard).

Fourth, compatibility whether language or platform, the project is increasing in scalability. OODB should not affect this scalability in anyone. However, the cost of platform support is expensive, and it requires a wide range of testing and a large number of document descriptions. Therefore, some suppliers' products only support a small number of platforms. It is quite difficult to find out a solution that is closely combined with a variety of mainstream OO languages ​​(such as C , Java, SmallTalk).

Standards ... Supported platforms for a wide range of platform support - I always consider three key platforms: Linux, Win2000, and Solaris. The platform you prefer is different. Java integrated JDK support, tightly tracking the latest JDK specification. C integrated compiler supports a long-lasting specialty to avoid tightly combined - find databases that do not require persistent classes in the code. This is a choice associated with preferences, so you should carefully study the advantages and disadvantages of post-processing and extended / implementations. The embedded version only occupies a small amount of disk space, RAM; has the ability to cancel some non-core functions.

5. Featured each database solution has some unique features. Below I specialize in some core functions, because these features have a high value for development projects:

Standard considerations ... Database Browse Management Database, Modify Content, Update Mode, and Generate Content Reports. The client buffer improves the ability to respond to the "hotspot" database response speed; if the object synchronization is ensured, it will minimize the extraction operation of the database. Database security users, user group access control, preferably on the hierarchy of the object (if not the container). XML support seamlessly extracts from the database, inserting an XML tool to the database. Ide integration and TOGETHERSOFT have enhanced development efficiency environment integration to improve development efficiency.

Sixth, performance in some aspects of performance, OODB possesses an advantage; but in other aspects, OODB is inadequate. The detailed performance test data of each product is provided here is too lengthy, but it is important to understand the limits of systems and functionality that may affect performance.

Standard Considerations ... Locking Strategic Applications - Object-level locking mechanisms can bring great convenience, but the page-level locking mechanism can bring performance on certain conditions. Load balancing transparently distributes databases, calling methods on remote servers, sharing objects between concurrent threads / access. The biggest database size is, the better. Transaction support checkpoint: Sharing a transaction by multiple threads, a thread takes up multiple transactions, nested transactions; when a given product is affected, make sure you understand the customer's burst-on customer The working mechanism of the end / server-side synchronization. About information about query / performance, it can help you find performance bottlenecks; OODB provides optimization and adjustment options typically be less RDB, but some tools to extract performance information and interpret the Query implementation plan is still very it works.

Seven, scalability and availability, although not every project requires enterprise-level recovery, availability, scalability, and understanding that the OODB solution you choose can provide with the ability of the project to provide this ability.

Standard Considering ... When the transfer of the main server, it is transparent to the redundant database. Load balancing loads into redundant servers, dividing objects to multiple servers, synchronizing the capabilities of multiple client object buffers. Replication and incremental backups Seamless copy data, support load balancing and recovery capabilities. A dedicated query engine (Ad hoc query engine) enriched query language allows quick access to data; ideally, it should be able to connect data across objects that do not directly associate.

Eight, product reviews, I evaluated the following products according to the standards proposed above:

ObjectStore Versant Developer Suite Poet FastObjects Objectivity

Please refer to

Cetus OODB AREA

There is a quite new ODB vendor list.

Standard ObjectStoreVersant Developer SuitePoetObjectivity background information provider ObjectStoreVDSFastObjectsObjectivity Home Products Technical Reference [29] Spec or PDF data sheetOverview or manualsJava or C PDF overview or specific data sheets Version 6.06.0t7 8.0 [16] 6.0 license price and trial versions of Object DesignVersantPoetObjectivity 30 Treasure Test [1] 60-day trial function limited 90-day trial license fee [2] [2] [2] [2] online support can not [3] [9] can not [9] Good [19] Very good User Association [23] Medium [4] medium compliance NNN incomplete 2.0 / 3.0 support OQL compliance NN [10] ODMG 3.0 [17] NJAVA interface follow ODMG 3.0ODMG 3.0ODMG 3.0ODMG 3.0C interface support ODMG 3.0N / A Incomplete 2.0 / 3.0 Support SmallTalk Interface N / A / AN / AN / AN / AODMG 3.0 Compatibility Support Unix Operating System Linux, Solaris, HP-UX, Irix, AIX, Tru64 [Ref] Linux, Solaris, HP -Ux, Irix, SGI, Tru64 [Ref] Linux, Solaris, HP-UX [Ref] Linux, Solaris, HP-UX, IRIX, AIX, Tru64 [Ref] supported Windows operating system 98, NT4, 2000 [Ref] NT4, 2000 [Ref] 98, NT4, 2000 [Ref] 98, NT4, 2000 [Ref] JDK Requirement 1.0, 1.1-1.3 [22] 1.2, 1.31.1-1.31.22, 1.3 Specialization N [ 5] N [5] N [5] y [24] Embedded version YNY [18] n function database browser YYYY client buffer YYYY database secure database or user control [14] specific User / Group Control Database for Category and Database Support YY [15] section [20] section [20] Performance lock policy database, page, or object object-level object-level container level [25] largest database size [ 7] hundreds of GB? Dozens of GB to hundreds of GB? [12]? According to the report, it reaches the TB level transaction support deadlock detection, MVCC [8] Distributed Transaction Management (Similar to MVCC) Checkpoint, shared or parallel transactions, nested transaction checkpoints, deadlock detection, sharing or Parallel transactions provide information about query / performance YN [13] NN [26] Failover YYY Optional [27] Load Balancing section [6] section [11] part [21] optional [27 ] Copy and incremental backup YYY Optional [27] Special Query Engine (Ad Hoc Query Engine) No OQL. Use collection and query object y [10] y (oql) y [28] ■ End language I hope that I have not given an impression of OODB fanatics - for most applications I use, I think Idb has A certain risk. However, once you understand and familiar with OODB, they can become a very convenient tool. I personally better optimistic about Poet and ObjectStore, but I think they are all useful. ■ Note

[1] only provides single-instance Personal Edition, PSE. [2] The offer can be obtained from the sales representative office. [3] Some support services are only available to the owner access to the effective maintenance contract. [4] The community is only relative to other OODB products. OODB's user community is far less than the user community of the relational database. [5] The lasting class must be processed afterwards. [6] Load balancing between multiple databases seems unlikely. Conversely, processing through the client buffer is distributed, which transparently moves more logic and computing tasks to the client, thereby reducing the load of the server. [7] These data were not proven, mainly from the supplier's statement. When discussing the database size, problems such as complexity, size, and reasonable response time, etc. are factors that must be considered. [8] MultiVersion Concurrence Control, MVCC) is a non-standard technology that is used to maintain the consistency of the buffer client and server-side data view during concurrent read / write operations. [9] From a large number of online demonstrations, FAQ, forum benefits, all this is open to existing and potential users. [10] A private VQL language is implemented, and it has some common in common in OQL. [11] By copying the partial load balancing ability; Transparent replication between multiple databases ensures that there is one latest data on each OODB. [12] The 64-bit version is required to exceed 2 ^ 32 restrictions in the inner village, record counting, etc .; Versant's 64-bit version is already constructed, but it has not been verified on all the platforms it supported. [13] Provides some tools for query adjustments and timing. [14] If it is not what I missed, it does not seem to mention a smaller safety mechanism of granularity or the ability to provide this in the API. I found a specially mentioned database-level access control implemented through the OS-enforced database file permission. [15] Requires a separate tool. [16] POET is divided into three forms: T2 (real-time embedded Java), E7 (embedded Java / C ), and T7 (Enterprise Java / C ). The version number is not explicitly displayed, the T7 V8.0 is available from the version number of the file, and is currently 8.0.0.19. [17] It cannot guarantee that it fully supports ODMG 3.0 oql, but coverage seems to be quite wide. [18] includes a C or Java embedded version, and a real-time embedded version of Java. [19] Online Support Website Community.fastObjects.com is very comprehensive, but the speed is often very slow. I have a high-speed connection, but it returns to the page timeout error. [20] I can only use bulk import / export functions by command line interface. [21] There is no obvious tag without distributed functions, and I have not used a distributed configuration. If the database replicates with the "Reader Scalability" option in the configuration of the Poet, the load balancing can be implemented to some extent, so that the query can be performed on a read-only slave database. [22] At least JDK 1.2 seems to be best, you will get better collection support and avoid some "quirk" issues that have already been reported (fail to solve these problems for JDK 1.1). [23] It is difficult to evaluate. I started from the discussion of income and Internet / newsgroups. Please see it as a guess. [24] The logo of persistence or it is derived from OOOBJ, or it implements an IOOBJ interface. [25] Although it sounds scary to the entire container, its basic idea is, it will significantly reduce the load of the lock server. [26] Provides some runtime query debugging capabilities through API calls and statistics. [27] Some information, such as this description, showing these options increase costs.

转载请注明原文地址:https://www.9cbs.com/read-98332.html

New Post(0)