Clusterpoint
Encyclopedia
Clusterpoint is a high-performance, schema-free, document-oriented database
Document-oriented database
A document-oriented database is a computer program designed for storing, retrieving, and managing document-oriented, or semi structured data, information...

 server written in the C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 programming language. It manages collections of XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 documents that are stored in native XML data format. It allows many applications to store data in a natural human-readable way that matches their native data types and structures. All database content is indexed automatically and completely for fast structured, unstructured and semi-structured search. Clusterpoint is a hybrid DBMS system, combining into a single cohesive software platform several widely used but isolated database software
Database Software
Database Software was a software publisher based in Cheshire, England. Software published by the company includes the Red Arrows game for the ZX Spectrum and the office suite Mini Office II, as well as games and educational software for children....

 technologies: database management software platform, fast full text search
Full text search
In text retrieval, full text search refers to techniques for searching a single computer-stored document or a collection in a full text database...

 engine functionality and native clustering software.

Development of Clusterpoint DBMS began in August 2006 by Clusterpoint Ltd. The first public release was in January 2008.

Features

Among the features are:
  • Open, cross-platform, industry standard XML
    XML
    Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

     data format, used at database storage level, API and in all client-server transactions
  • Data structure agnostic database, handles custom schema-less free format XML documents as database objects
  • Consistent UTF-8
    UTF-8
    UTF-8 is a multibyte character encoding for Unicode. Like UTF-16 and UTF-32, UTF-8 can represent every character in the Unicode character set. Unlike them, it is backward-compatible with ASCII and avoids the complications of endianness and byte order marks...

     encoding. Non-UTF-8 data can be saved, queried, and retrieved with a special binary data type.
  • Cross-platform support: binaries are available for Linux
    Linux
    Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

    , FreeBSD
    FreeBSD
    FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...

     and OS X. Clusterpoint can be compiled on almost any operating system
    Operating system
    An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

    .
  • Type-rich: supports unstructured data, dates, numbers, meta-data, binary data, and more (all XML
    XML
    Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

     types)
  • XML objects for query results: enable direct integration in programming languages supporting XML parsing, no client software required
  • Includes rich enterprise search functionality: eliminates the need to integrate database application software with 3rd party search software
  • Flexible data ranking at search: a customizable mechanism for programming database content ranking for the best search relevance
  • Transparent cluster software architecture: no single point of failure, any cluster node can serve as master
  • Horizontal scalability: scales out from a single server to hundreds of servers per database in clusters
  • Security partitioning: users, administrators and access rights are based on groups and roles, granular to specific storages and API commands
  • Centralized web GUI based database administration, including clustered and replicated databases


More features:

Indexing

Clusterpoint software automatically builds entire database content index for any types of fast searches. It builds its index for full text search, XML structure search, for numeric and dates interval search, geospatial search and faceted search.

Information ranking

To achieve scalability and performance goals in a distributed cluster database architecture, Clusterpoint DBMS uses a mechanism for customizable ranking of database content for the best search relevance. Clusterpoint Index scales linearly in cluster architecture: it can maintain the same sub second search times for a distributed database, spanning tens and hundreds of servers and containing billions of XML data objects..

Results grouping, data sorting and exact positioning

For ad hoc queries and structured queries the Clusterpoint database supports grouping and ordering functionality that is similar to SQL's GROUP BY and ORDER BY. At high performance this is achieved through the same Information Ranking mechanism, a set of rules established and fine tuned at database configuration level.

Server-side LUA execution

LUA is the lingua franca
Lingua franca
A lingua franca is a language systematically used to make communication possible between people not sharing a mother tongue, in particular when it is a third language, distinct from both mother tongues.-Characteristics:"Lingua franca" is a functionally defined term, independent of the linguistic...

 of extending Clusterpoint Server functionality and can be used in most Clusterpoint query or database update transactions. For example, LUA can be used to implement customer specific data aggregation functions, alerting or programming asynchronous triggers. LUA scripts can be executed server-side, right before or just after Clusterpoint API transactions of interest.

Any custom LUA scripts can be stored in Clusterpoint Server to work as "stored procedures".

Language support

By default Clusterpoint DBMS uses REST principles and HTTP/HTTPS messaging for client-server communications between customer applications and Clusterpoint Server. Any client programming language or development environment, supporting HTTP POST/GET messaging, can directly "talk" to Clusterpoint Server, including reading, writing, updating and searching their XML documents.

Clusterpoint Server has native client API Libraries using faster TCP/IP transport protocol for the following popular programming environments:
  • Java
    Java (programming language)
    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

  • PHP
    PHP
    PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

  • .NET


Clusterpoint sample use cases of the client source code are available for the following popular programming languages:
  • Java
    Java (programming language)
    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

  • PHP
    PHP
    PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

  • C
    C (programming language)
    C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

  • Perl
    Perl
    Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

  • ASP

Licensing and support

Clusterpoint DBMS is available for free under the Clusterpoint DBMS Free Community License for use on a single hardware server or a virtual machine.

There are several commercial Clusterpoint DBMS software licenses available, starting from a 2-server cluster for Clusterpoint DBMS licensing.

Clusterpoint DBMS is commercially supported software with free basic support over email and paid premium technical support services for customers using the software in production environments.

See also

  • MongoDB
    MongoDB
    MongoDB is an open source, high-performance, schema-free, document-oriented database written in the C++ programming language...

  • CouchDB
    CouchDB
    Apache CouchDB, commonly referred to as CouchDB, is an open source document-oriented database written mostly in the Erlang programming language. It is part of the NoSQL group of data stores and is designed for local replication and to scale horizontally across a wide range of devices...

  • NoSQL
    Nosql
    In computing, NoSQL is a broad class of database management systems that differ from the classic model of the relational database management system in some significant ways. These data stores may not require fixed table schemas, usually avoid join operations, and typically scale horizontally...

  • Structured storage
    Structured storage
    COM Structured Storage is a technology developed by Microsoft as part of its Windows operating system for storing hierarchical data within a single file...

  • XML
    XML
    Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK