Getting Started

Quickly install DolphinDB, tour interfaces and core features through hands-on examples

About DolphinDB

DolphinDB is an extremely fast time-series database and data analytics system with unlimited scaling capacity. It has built-in parallel and distributed computing supports. It comes with battery included for real time data processing and analytics across unlimited computing nodes.

DolphinDB is specially designed for applications that demand extremely high running speed. Data structures, algorithms, templates, and high level SQL queries are all carefully tuned to deliver optimal performance. A stand-alone DolphinDB system maintains the high performance even if the size of data exceeds the available memory.

DolphinDB supports commonly used data structures including vectors, matrices, dictionaries and tables as well as corresponding manipulation and query routines. It also offers a fully-featured scripting language. In DolphinDB, there is no clear boundary between database and programming language. They are integrated seamlessly. DolphinDB delivers optimal performance for real-time applications where even one millisecond matters.

The scripting language in DolphinDB is very easy to use. If you have programmed with SQL or Python, you will be very comfortable with DolphinDB scripting language since its syntax is very similar to these languages.

DolphinDB is written in C++. DolphinDB provides Python, Java, C++, C#, and JavaScript API for integration with existing applications.

What Makes DolphinDB So Fast

Like other languages such as Python, R, Matlab, and SAS, DolphinDB's scripting language is interpreted at run time. However, DolphinDB runs extremely fast due to the following reasons:

  • DolphinDB seamlessly integrates a high performance time series database, a lightweight distributed computing framework and a fully-featured programming language. The system minimizes data transfer across multiple components of the system.

  • DolphinDB uses its proprietary memory management system for optimal performance. In big data processing, allocating and releasing memory account for a significant part of the computational cost.

  • DolphinDB is written in C++. In DolphinDB, all parallel or iterative computing uses a lightweight "thread" model, which outperforms systems written in Java that adopt a heavyweight "process" model.

  • DolphinDB's scripting language is vector based and supports functional programming. The language is extremely expressive and effective for data manipulation and analysis. The interpretation overhead is very small.

  • DolphinDB optimizes all built-in functions/commands from basic functions (e.g. sort ) to high level functions (e.g. table joins).