Clusterpoint
database software technology architecture is based on
few simple
database concepts already known to majority of developers community:
'database'
(data storage) and a 'cluster' (a number of hardware servers together running all particular database nodes).
Simplicity for customers and developers was also our key design requirement for other aspects of using our database technology.
Simplicity of database model:
Clusterpoint
database logically works as a simple XML / JSON data storage where
each data object (XML / JSON document) can have any schema-less
free-format data structure and custom content. All data objects
must be uniquely
identified by id-key, that is used to store, retrieve, manipulate and
search data in any Clusterpoint database. A key can be any XML or
JSON existing attribute such as Web link, social security
number, bank account number, chemical formula or any other parameter
which is a string with unique identification value for the particular
data object
within the entire database so that
customer applications can precisely store, retrieve, update and delete
any data objects in a Clusterpoint database, using keys
as
unique references for locating data objects. From application
developer point
of view Clusterpoint database
(storage) is operating in nearly the same way as a key-based data
store, yet
Clusterpoint technology is providing more powerful structured and
unstructured data
processing functionality within content of data objects stored,
addressing the
internal structure of customer data objects so that, structured,
unstructured and semi-structured data can be effectively manipulated
and customer data structure can be handled similarly to that of SQL
database programming methods.
Simplicity of combined structured and unstructured data access: Clusterpoint ability to work with a database structure similarly to SQL and perform high quality enterprise search in all text values are two features that sets our software technology "miles apart" from a simple key-value store. This Clusterpoint database extra functionality goes far beyond limited database functionality typically found in key-value store database software systems. The resulting Clusterpoint database software is an innovative hybrid database server platform, representing clustered data store functionality, structured database access functionality and enterprise search functionality for unstructured data, all at the same time. All features, in particular, fast and relevant search that in essential for modern web apps (please see Information Ranking), are implemented for native scalability and high-performance in clusters so, that our customers can start building scalable software applications with rich structured and unstructured data retrieval functionality, easily handling growing databases with out-of-the-box clustering. All above functionality is supported within a single database platform software: Clusterpoint Server.
Simplicity of application software scalability: Our customers can start programming natively scalable applications in typical interactive web model fully supported by Clusterpoint Server, without the need to re-engineer their application software later, when databases can be scaled out in massively clustered private cloud configurations, likely with multiple replicated database mirrors, and still be able to work with the same software. The simplicity of application software scale out ability is a key Clusterpoint database feature too.
Simplicity of system design concepts and terminology: We are also different from most of other database software vendors that we do not use technically sophisticated concepts to describe our database platform. Often too much use of specific technical terminology developed by engineers for their "baby products" can make database programming and management unnecessarily difficult to understand and follow by customers. We did our best to simplify our database concept and high-level vision as much as possible. For our customers there is no need to use such technical terms as 'relations', 'primary keys', 'foreign keys', 'buckets', 'forests', 'data blocks', 'key sharding', 'map-reduce' or other geekish, sophisticated terminology to work with Clusterpoint database.
In fact, most of Clusterpoint data storage internal technical complexity, where it is necessary, is hidden behind our core platform software developed as a database server. Developers and database customers can just work with their logical databases and XML / JSON data objects, without worrying about technicalities or software engineering details driving the Clusterpoint Server platform software.
Apart from this our customer-centric design simplification, our
product is a well-engineered, developed from ground-zero,
fully
functional database server software. It is a fast, robust,
scalable and entirely searchable XML / JSON data storage platform.
Simplicity of deployment: It
is also very easy to deploy our database technology. There is no
client
software necessary to store, access and search data in Clusterpoint
DBMS. Use REST web services or native TCP transport (through our API libraries for specific programing languages) and
"talk"
with Clusterpoint Server in XML or JSON, data formats nearly
universally
supported across different IT platforms.
Simplicity of high-performance data management: Please note that our database technology is seemingly very simplistic in use and appearance, but our software engineering efforts that underlies Clusterpoint Server implementation in the software source code is neither simple, nor trivial. Actually Clusterpoint Server is driven by powerful and functionally versatile high-speed data management software that is written in fast C/C++ source code. It was written from ground-zero and accumulates about 80-man years of our teamwork (we are professional C/C++ developers, please see Clusterpoint Team). The software undergone many years of testing, bug-fixing and its reliability is proved by our customers running it in 365/24 production since 2008. We have managed to build cutting-edge clustering, database management and enterprise search engine functionality into a single cohesive software platform, engineered for maximum performance and scalability and designed to run on inexpensive networked hardware in the so called private cloud architecture. Code is optimized to run close to machine-level speed.
Simplicity of underlying computing infrastructure: We believe that our engineering efforts also resulted into a database software platform that requires only modest computing resources to operate and the software is better designed for green computing needs than any legacy database platform.
Clusterpoint software can work at high speed on any commodity IT infrastructure. When developing Clusterpoint Server source code, we took advantage of the best industry software engineering standards and methods such as multi-core processing, multi-threading, data and index in-memory caching, map-reduce type of interprocess communications in distributed cluster architecture, server software virtualization and many other software-based optimization techniques that delivers the most performance out of the modern underlying hardware networked together for the total aggregate computing power. Clusterpoint is the software system that is natively designed for this cloud-like architecture, without legacy software dependencies. You can use Clusterpoint Server database platform as a fast and cost-efficient "machine" that enables to scale out any databases to any imaginable size just with a simple hardware clustering, maintaining high performance. Clusterpoint technology enables to do clustered database management with the least cost of ownership: using ubiquitous commodity computers and networking equipment with modest computing power and therefore low power consumption.
Simplicity of integration: Clusterpoint database platform is remarkably easy to integrate from software developer point of view. You can actually learn it in just a couple of hours and start programming for Clusterpoint databases, using your own favorite programming language. There is nearly no learning curve in Clusterpoint software deployment and use. Clusterpoint Server does all database clustering and scaling functionality behind the scenes, where this complexity is hidden from application software. We automate on a database server level all database content indexing, search and cluster management tasks. We unlock application software from database structure complexities, cluster configuration, data sorting tasks and database replication tasks. It is all done by Clusterpoint Server software, transparently from application, there is no need to program this logic into application software code.
Simplicity of API: Our database server has also very simple API that is completely open and based on web standards. We use only industry-standard and open data formats in our database storage: XML and JSON, and we have open Clusterpoint API that is web-based and uses only standard Internet protocols (http/https, REST, TCP/IP). Our API works similarly to Amazon AWS services, so that our customers can easily develop their own enterprise cloud database services and even provide them to their customers. Our open API and use of industry standards enables our customers to design, manage and run their XML- or JSON- only databases in fully cross-platform and application software vendor-independent way.
Simplification of application software code: In particular, one of the greatest ROI benefits coming from our database model simplification is in application software development area. Clusterpoint database makes any web application software code shorter, more simple and more fast. Clusterpoint DBMS enables our customers to cut their application software development time from months to weeks, saving significant development efforts and shortening time to market for their new products and new Web services.
All of the above simplicity factors have been engineered into Clusterpoint core database server technology. The resulting product - Clusterpoint Server delivers cost-savings in a number of areas. It saves licensing costs compared to multi-layered solutions. There is no need to integrate Clusterpoint based application software with distributed file systems, map-reduce platforms, big-table columnar databases or enterprise search platforms when using Clusterpoint. Clusterpoint database technology delivers great value for money: a long-term scalable data storage infrastructure, empowered with great database search facility out-of-the-box. It saves tons of human maintenance efforts over IT system life-cycle due to much simpler database architecture and data model. Technology provides also excellent interoperability with existing customer software applications, eliminating entire layers of IT complexity compared to integrated solutions typically used to drive applications that are created around legacy SQL "world" concepts. Using Clusterpoint Server as a primary database storage technology results into substantial customer cost-savings: target ball-park figure 50%. It results also into employees productivity increase. Clusterpoint database users are enjoying much better, faster and more relevant access to accumulated database information, driving up your customer satisfaction rates and bringing more revenue to your business.
Clusterpoint is also a power-saving computing technology, compared to legacy SQL database platforms, please see Calculate ROI.
For more advantages about using Clusterpoint database system
please see the section Advantages. 
Search is the key functionality for most databases. Databases are mission-critical part of nearly all corporate IT applications today.
Here is a problem: when your
database grows big or complex, a
good and
relevant search starts to become difficult, slowing down performance
and often producing overwhelming result sets.

Customers have to use
enterprise search software to achieve desired relevance and results
ranking and fast performance. It is rather complex and costly
solution to set up
an integrated and scalable solution combining database management
system platform (DBMS) and a search platform software. It is
often
increasing
application development time and requiring extra software
development and maintenance.
Search software has its own proprietary indexing system
that in most cases does not scale out well. It has also full
text
search index synchronization problems with real-time database
content updates. It often requires cumbersome application
software
modifications to rank search terms for relevance in a
customized way. The concept of addressing fast and relevant
database search with an integration of two different software
platforms, essentially is locking in customers into
proprietary database and search software programming formats, adding to
overall IT system complexity. It makes difficult and
costly to migrate resulting integrated platforms among vendors to gain
the best cost advantages. Such systems also do not scale
performance very well when the size of a SQL databases grows beyond few
tens of millions of records per computer. Scalability needs to be
addressed mostly by application partitioning (adding extra complexity)
or through really expensive high-end hardware.

We asked ourselves what if we could make an open standards
based
database platform with rich enterprise search functionality, including
fast full
text search mechanism, built into the very core of a database
server software? What if we could provide also a database
configuration mechanism for flexible search results
ranking for relevance, and scalability in clusters for both database
and search functionality, without any
application software changes, out-of-the-box?
That is how our vision for Clusterpoint Server was born.
Based on this vision and
design principles, our concept for Clusterpoint
DBMS was implemented into a
single,
cohesive, engineered for speed, database software platform product: Clusterpoint Server.
When we decided to engineer a new database software platform, there were mostly skeptics criticizing our endeavor and they often doomed our undertaking as a dead-cert failure. Today global database software market is dominating by few industry "behemoths". Skeptics postulated that they would never allow some unknown company "out of nowhere" to compete in enterprise database software market, occupied by few dominating SQL RDBMS platform vendors.
After working with SQL and other relational database systems for almost a quarter of a century, it became obvious for us, that relational architecture is aging and can not handle growing amount of electronic data, especially, data what is produced by web applications on the Internet.
Today there is an emerging consensus by growing number of IT
professionals that legacy SQL technology can
not efficiently solve all database management problems.
Michael
Stonebraker, a research pioneer who about 30-years ago co-created the
Ingres and Postgres technology that underlies many leading relational
SQL databases today, including Microsoft SQL Server, Sybase and
Informix,
was among the first well-known database industry celebrities who
honestly stated that RDBMS "should
be considered legacy technology"
(Source: Computerworld, Sept. 06,2007).

One can take a look at
any relational database architecture with its multi-table
entity-relations diagrams (see the picture on the right side) and
immediately see the complexity
behind that outdated computing technology.
Complexity
of relational databases design requires complex software to manage this
complexity. Legacy SQL database design and maintenance is
time-consuming, taking great efforts from analysts, developers, DBAs
etc. Another inconvenience is that column indexes must be
used
for fast search, and this indexing system must be custom designed into
the very structure of each database, often requiring to modify and
adjust application software to search limitations imposed by column
indexing, restricted by relations between tables and requiring to
address in software inflexible, rigid database structure and
search logic.
For the design of the Clusterpoint database we have thrown out
legacy SQL architecture and constraints.
We decided to create
a
NoSQL database platform that is designed for Web and stores all data
only as industry standard schema-less XML / JSON documents from API side, while storing them in XML internally. Any
customer
data objects can be stored, managed and searched for in the
Clusterpoint database in either free format XML or JSON data objects, using Clusterpoint API.
Clusterpoint Server software is data
structure agnostic database platform.
As a result, database
design becomes simple and application software development
becomes
even more simple.Key benefits of storing and managing data only in
native XML
/ JSON data formats:
With innovative Clusterpoint
Indexing system, Clusterpoint
Search and Clusterpoint
Information Ranking
we have also solved the perception problem from our
customers that XML / JSON is text and being a text, it can be difficult and slow
to search. 
Before we started the development of software code for Clusterpoint Server database platform, we drafted a list of key design requirements that would make sense for simplifying database management and database application software:
Based
on the above wish-list for an ideal database design requirements, we
wrote Clusterpoint Server in C/C++ source code to match our design
concept. 
Clusterpoint Server is a distributed XML/JSON database server
architecture
NoSQL DBMS software
with linear scalability to address database growth problem and
performance issues.

Clusterpoint
technology is a classic transactional, ACID-compatible, data
management software technology that delivers in a single
software platform a distributed cluster data store functionality,
full-fledged XML/JSON database server functionality and enterprise
search engine functionality, all at the same time.
The system was
designed to take advantage of cost-efficient clustering: contemporary
hardware architecture where expendable servers with a lot of RAM and
plenty of disks are networked in clusters to provide massive computing
and data storage capacity. Trendy name for this system
concept is cloud-architecture, in public
cloud or in 'private' cloud, the later being your own corporate IT
infrastructure, that uses cloud principles.
We
develop, sell and support NoSQL database platform
product for building
and managing your own private cloud-architecture databases.
For Clusterpoint Server we developed a set of innovative indexing and
search facilities: Clusterpoint
Index, which enables to configure Clusterpoint
Search
for the best search relevancy without application software changes, and
the indexing engine that automatically indexes entire database content
for easy Internet-style full text search, and enables to apply customer
own Information Ranking
rules for configuring database search relevancy.
Both
indexing
and search are linearly scalable in a cluster of private-cloud hardware
architecture supported by Clusterpoint design concept.
Clusterpoint database platform provides configurable database Clustering options,
that are supported by Clusterpoint Server out-of-the-box: without extra
software and without special programming for it in customer application
software.
To integrate it into
contemporary multi server data center IT systems architecture,
Clusterpoint database server software was engineered to support
industry proved client-server database architecture. The core
engine runs as a database server and can be accessed through
Clusterpoint API.

Clusterpoint
Server uses REST principles for messaging between customer applications
and server software.
Its messaging system is very simple,
uses
only web protocols and XML / JSON data objects, and underlies Clusterpoint
API.
Development of application software for Clusterpoint databases does not
require special client software: any favorite
programming language can "talk" to any Clusterpoint Server
out-of-the-box, over standard web http infrastructure and in standard
XML / JSON or, using Clusterpoint native API libraries for those languages,
fast TCP/IP data exchange, no matter where the server is located.
This
our API simplicity provides also easiness and simplicity of integration
into existing software applications. With few lines of
existing web
application software code changes developers can start accessing
Clusterpoint Server instead of SQL server for data access and search,
replacing only SQL cursor parsing source code with the same
structure XML-/JSON-object parsing and maintaining all visual output
element formatting unchanged.
Clusterpoint API is
completely open, published protocol for cross-platform software
development and facilitates database usage portability and
interoperability among different platforms, without vendor specific
protocols or data storage standards implementations.

With Clusterpoint you can start doing things impossible with traditional relational architecture databases.
One of
the biggest advantages
of
Clusterpoint is that you can store completely different objects into
the
same database (which we simply call a 'storage').
Clusterpoint
Server
automatically indexes all elements in your database content for
ultra-fast access and search, creating Clusterpoint
Index - complete
data index for any custom database objects. There is no need
to manage
multiple tables, column indexes and relations in Clusterpoint
architecture.
In our architecture,
Clusterpoint Server
empowers you to store any custom XML / JSON objects, having different data
structure, different size, different content, and still can provide
relevant information retrieval, sorting, filtering - as if you would be
using relational database. The general data storage
architecture
for Clusterpoint Server software is illustrated in the picture on the
right side.
We
decided to use open technology and open data formats that are widely
used on Web and in web technology applications, to interact with
Clusterpoint Server software, and to store, manage and search
information in Clusterpoint databases.
Although from our API we offer both XML / JSON data format usage,
internally we store data only in XML.
XML was a natural
choice
as our database format: it is robust and well-supported data format by
all IT
industry, by virtually all popular software platform and computing
environments.
Another reason for choosing XML is its more flexible accommodation of
some specific data formats, that JSON is not supporting. It
is possible to store all JSON objects into XML, but not in reverse way.
So we decided to encode and handle Clusterpoint database
structure in XML within Clusterpoint Server internally, providing open
API options to access it either with XML or JSON messaging, depending
on the preferred development environment and its support for one or
another standard. 
Clusterpoint Server empowers
you to add super-fast Internet-style search queries to your database
applications and always retrieve the most relevant data first.
Clusterpoint DBMS indexes entire
database content for structured, unstructured (full text) and
semi-structured search.
In
Clusterpoint architecture the entire database information is being
indexed up to the very last detail (string, word, number, date, tag
etc.), and index is being updated in real-time along document
writes.
Clusterpoint software hides real complexity
of this full database content indexing and clustering behind database
infrastructure.
To make database SEARCH both
scalable and high-speed in massively clustered database architecture,
Clusterpoint database technology have a built-in customizable Information Ranking
mechanism
for flexible positioning, grouping and ordering of data for the maximum
relevancy and ultra-fast SEARCH performance.
Information Ranking is a freely programmable
database indexing mechanism how to instantly get the most meaningful (relevant)
data
upfront, e.g.,
on the 1st web page.
The resulting data retrieval system outperforms SQL
databases by factor
of 10-1000
at fast, relevant, high-precision search, including free-format
Internet-style search (full
text search with relevance scoring,
stemming,
results snippets,
autocomplete,
facets)
With Clusterpoint technology,
you can solve two major database usability problems existing today:
Please read more about
Information Ranking.

Taking the best practice methods of the latest virtualization software technologies, each database storage is serviced in RAM by the fully functional Clusterpoint database server software instance.
There is no need to run
virtualization software on a hardware: each Clusterpoint Server can be
managed to run into separate RAM address space, servicing different
customer databases and different applications, with their own users and
access rights.
At the Clusterpoint
Manager
level (application for managing, configuring and controlling database
servers, storages and clusters) there can be multiple
administrator accounts, who can see, manage and configure only their
particular storages, run and stop server software only for
their
storages etc.
This feature empowers you to
run many different Clusterpoint databases on the same hardware securely
and
resource-efficiently.
You can also run Clusterpoint software on different operating system platforms, or run it under a virtual machine or a virtual appliance software environment using elastic cloud compute architectures such as Amazon EC2 or its open source analog Eucalyptus.
Please
contact us if you want to test-run Clusterpoint databases using public
cloud services, for example, using Amazon AWS services. We did
help a number of our customers to do so with Amazon and we could
quickly set up a test-bed for Clusterpoint DBMS evaluation also for
your needs on Amazon cloud, provided that you supply us your sample
database and key data retrieval requirements. Please simply let
us know about your interest sending us email on Clusterpoint Technical Support. 
Clusterpoint DBMS delivers
the product
engineered for global IT market: with full support for national
character encodings and transformations between code pages. 
High-speed conversion between UTF-8 and
national encodings is performed on the server if requested by
Clusterpoint API.
Clusterpoint’s database
engine is designed to provide character conversion automatically on the
server,
taking advantage of fast C/C++ code.
Among
key national-languages specific features supported in fast Clusterpoint
Server code are a number of linguistic functionality, usually requiring
some extra configuration of legacy database systems or customizable
software code in application software for a particular national
language. This built-in Clusterpoint feature set is especially
benefiting web applications, which ideally must be multi-language from
ground-up.
Here are main multi-lingual features of Clusterpoint Server:
If
you need some additional language specific feature, we can
quickly
implement it in our fast C/C++ server source code, which can improve
your application performance and make application software less
complex. 
Clusterpoint
DBMS can be downloaded as an installation package that includes the
core Clusterpoint database platform software and Clusterpoint
pre-packaged applications. Overall Clusterpoint DBMS system
architecture and components packaging is illustrated in the picture below.
The
core software is Clusterpoint Server, which installs as the same
copy on all hardware servers (colored in blue). The software
colored in blue combines all data storage services, all clustering
functionality and all enterprise search functionality (indexing service
and search facility), all within a single, scalable, client-server
database software platform.
This
server-based software platform is available to outside "world" through
open API based on industry standard web messaging (and supports all
TCP/IP, http / https / REST, XML / JSON standards).
One
can illustratively say that the core Clusterpoint DBMS database engine
is being driven by seamless operation of those key server components
like a wheel is driven by ball-bearings.
There are also
other pre-packaged software applications in Clusterpoint installation:
Clusterpoint Manager, Crawler Application and Searcher Application
which
are packaged together with Clusterpoint Server software (please see
applications colored in
orange and yellow in the picture).
To operate Clusterpoint databases, customer uses own client software
and
customer XML databases (colored in green), interacting with Clusterpoint Server through
Clusterpoint API.
Normally
we use Clusterpoint Server and Clusterpoint DBMS terms in the same
context, assuming that the core software Clusterpoint Server will
always come with some pre-packaged Clusterpoint applications, for
out-of-the-box usage.
Clusterpoint
Manager is a centralized administration and management application for
a cluster. It
is used by a database administrator (DBA) or by a system administrators
to set up, run, control and monitor
all Clusterpoint databases and their daily operations across the
enterprise IT network. This is probably the most important
Clusterpoint DBMS pre-packaged application.
It is also a recommended application, if you want to conveniently use Clusterpoint Server software
in cluster environment, perform routine DBA tasks, backups, restores,
user account management, log file and audit management etc.
Clusterpoint Manager application comes free-of-charge with
every
Clusterpoint Server installation package and installs on a web server
as as module, which can be accessed for log-in and used for
centralized management of Clusterpoint Server database IT
infrastructure across all your servers.
Administrators can
use any Internet
browser
software to centrally log in and manage all Clusterpoint servers and
databases installed and operated enterprise-wide. They can
also
easily manage their corporate Clusterpoint DBMS software infrastructure
remotely from any location with Internet access, using fully
encrypted and secure SSL tunnel over the Internet to the Clusterpoint
Manager utility (if this type of access is configured on corporate
firewalls).
There is also a command line management utility, that allows to manage Clusterpoint Servers from scripts, OS shells and in batch processing without Clusterpoint Manager. It can be downloaded from our Web site free of charge.
Please read more about Clusterpoint DBMS management and administration functionality in section Management.
Clusterpoint Crawler and Clusterpoint Searcher are two optional sample demonstration applications (colored yellow in the picture above), pre-packaged for a quick Clusterpoint DBMS capacity and functionality testing by our customers. Interested customers may use those 2 applications to crawl some existing document-type data (for example, a corporate Web site data or local file system documents), store collected documents in a Clusterpoint DBMS storage as XML documents, and perform resulting database search and performance tests, without spending any time for application software programming, out-of-the-box.
Using pre-packaged Clusterpoint applications, our customers can see and inspect how Clusterpoint databases are working, what is system architecture, how Clusterpoint databases are storing documents, how customer XML structure can be configured for relevant search etc.
Please see more about Clusterpoint DBMS demonstration
applications
in section Clusterpoint
Applications. 