https://github.com/finos/timebase-ce

High performance time series database

https://github.com/finos/timebase-ce

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.0%) to scientific vocabulary

Keywords

database high-performance java sql time-series time-series-database timebase
Last synced: 5 months ago · JSON representation

Repository

High performance time series database

Basic Info
  • Host: GitHub
  • Owner: finos
  • License: apache-2.0
  • Language: Java
  • Default Branch: main-6.1
  • Homepage: https://timebase.info
  • Size: 8.52 MB
Statistics
  • Stars: 120
  • Watchers: 13
  • Forks: 22
  • Open Issues: 11
  • Releases: 40
Topics
database high-performance java sql time-series time-series-database timebase
Created about 5 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Notice

readme.md

TimeBase CE

FINOS - Incubating

Maven Central

Business Problem

Time-series data is foundational to both buy-side and sell-side financial services firms. The need for time-series data management systems is well understood and is well-served by products provided under commercial licenses. There are also many open-source time-series data systems but their uptake in financial services firms is less extensive, possibly due to insufficient performance and scalability or lack of appropriateness for financial services time-series data. There is constant demand to reduce total cost of operating technology stacks, whilst at the same time implementing changes to serve new opportunities or meet new obligations. Implementing change in a cost-effective manner has led to an increase in the use of cloud and open-source technologies, and less of a “one size fits all” approach.

Proposed Solution

Having been battle-tested in trading firms for over 10 years under a commercial license, TimeBase is now offered under an open-source license as TimeBase Community Edition”. TimeBase Community Edition was designed from inception for managing time-series data found in financial services.

The goal is to provide enterprise grade time-series data management and messaging capability which enables financial services firms to use with other open-source and commercial components to augment existing solutions, create new solutions.

TimeBase can be used, simultaneously, as a traditional time-series database and real-time data messaging/streaming server. Data structures (“streams”) are user-defined. There is a rich API for interacting (ingesting, streaming) with TimeBase, which provide the necessary hooks for data population and data utilization.

FINOS TimeBase CE Resources

| Episode | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | Leveraging TimeBase Community Edition event-oriented time-series database to PowerCloud hosted analytical application. | | | In this session, Matt will talk about TimeBase Community Edition and how the Open Source Community can leverage this technology to build their own analytical models, data visualizations, and unique applications. |

Current State

History:

  • 2006 – Timebase 1.0 (historical data analytics, SQL)
  • 2010 – Timebase 2.0 (timeseries data base, live streaming)
  • 2015 – Timebase 5.0 (Very large databases, HDFS)
  • 2018 – IPC/UDP low latency mode (Timebase topics)
  • 2019 – Cloud support (REST/WS, Docker, Kuber)
  • 2021 – Timebase 6.0 Community Edition (open source)

Roadmap

  1. Replace Apache Tomcat
  2. TimeBase Cluster
  3. NIO Support for network layer

Existing Materials

Build

Build the project with Gradle using this build.gradle file.

You will require the Java 11+ to build TimeBase:

Full clean and build of all modules

shell $ ./gradlew clean build

Run

Start TimeBase using Docker

docker run --rm -d \ -p 8011:8011 \ --name=timebase-server \ --ulimit nofile=65536:65536 \ finos/timebase-ce-server:6.1

Usage example

https://kb.timebase.info/community/development/libs

Releases

The following file lists known Timebase CE vulnerabilities:

https://github.com/finos/TimeBase-CE/blob/main/CVE.md

Contributing

  1. Fork it (https://github.com/finos/TimeBase-CE/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Read our contribution guidelines and Community Code of Conduct
  4. Commit your changes (git commit -am 'Add some fooBar')
  5. Push to the branch (git push origin feature/fooBar)
  6. Create a new Pull Request

NOTE: Commits and pull requests to FINOS repositories will only be accepted from those contributors with an active, executed Individual Contributor License Agreement (ICLA) with FINOS OR who are covered under an existing and active Corporate Contribution License Agreement (CCLA) executed with FINOS. Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the FINOS Clabot tool. Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA. The EasyCLA bot will monitor all pull requests to ensure compliance.

Need an ICLA? Unsure if you are covered under an existing CCLA? Email help@finos.org

Development Team

License

Copyright © 2021 EPAM Systems, Inc.

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0

Owner

  • Name: The Fintech Open Source Foundation (www.finos.org)
  • Login: finos
  • Kind: organization
  • Email: info@finos.org

FINOS’ mission is to promote open innovation in financial services. See our full list of repos from our nearly 100 projects & 11 programs at finos.github.io

GitHub Events

Total
  • Create event: 49
  • Release event: 12
  • Issues event: 11
  • Watch event: 8
  • Delete event: 20
  • Issue comment event: 10
  • Member event: 2
  • Push event: 91
  • Pull request event: 47
  • Fork event: 2
Last Year
  • Create event: 49
  • Release event: 12
  • Issues event: 11
  • Watch event: 8
  • Delete event: 20
  • Issue comment event: 10
  • Member event: 2
  • Push event: 91
  • Pull request event: 47
  • Fork event: 2

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 281
  • Total Committers: 11
  • Avg Commits per committer: 25.545
  • Development Distribution Score (DDS): 0.63
Past Year
  • Commits: 5
  • Committers: 1
  • Avg Commits per committer: 5.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Alex Karpovich a****h@d****m 104
Alex Karpovich a****h@g****m 80
github-actions g****s@g****m 56
Romkisel r****l@g****m 15
Raman Kisel r****l@d****m 12
Ivan Novik i****k@e****m 5
James McLeod j****d@f****g 5
Alex Karpovich a****h@e****m 1
Chris Howard c****d@e****m 1
Maurizio Pillitu m****o@f****g 1
maoo m****o@a****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 8
  • Total pull requests: 23
  • Average time to close issues: about 3 years
  • Average time to close pull requests: 8 days
  • Total issue authors: 2
  • Total pull request authors: 5
  • Average comments per issue: 0.63
  • Average comments per pull request: 0.04
  • Merged pull requests: 14
  • Bot issues: 6
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 23
  • Average time to close issues: 4 months
  • Average time to close pull requests: 8 days
  • Issue authors: 1
  • Pull request authors: 5
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.04
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mend-for-github-com[bot] (6)
  • andymalakov (3)
  • ankitsoin (1)
Pull Request Authors
  • alex-karpovich (18)
  • Romkisel (7)
  • IvanNoyvik (6)
  • kenwynejohnes (3)
  • Aleks-Ry (1)
Top Labels
Issue Labels
security vulnerability (6)
Pull Request Labels

Packages

  • Total packages: 9
  • Total downloads: unknown
  • Total dependent packages: 9
    (may contain duplicates)
  • Total dependent repositories: 19
    (may contain duplicates)
  • Total versions: 175
repo1.maven.org: org.finos.timebase-ce:timebase-pub

Timebase Public API Library

  • Versions: 25
  • Dependent Packages: 4
  • Dependent Repositories: 5
Rankings
Dependent repos count: 10.9%
Dependent packages count: 13.9%
Average: 22.6%
Stargazers count: 30.0%
Forks count: 35.6%
Last synced: 6 months ago
repo1.maven.org: org.finos.timebase-ce:timebase-api

Timebase API Library

  • Versions: 25
  • Dependent Packages: 2
  • Dependent Repositories: 5
Rankings
Dependent repos count: 10.9%
Dependent packages count: 23.2%
Average: 25.0%
Stargazers count: 30.2%
Forks count: 35.6%
Last synced: 6 months ago
repo1.maven.org: org.finos.timebase-ce:timebase-client

Timebase Client API Library

  • Versions: 24
  • Dependent Packages: 1
  • Dependent Repositories: 6
Rankings
Dependent repos count: 10.0%
Average: 27.2%
Stargazers count: 30.2%
Dependent packages count: 33.0%
Forks count: 35.6%
Last synced: 6 months ago
repo1.maven.org: org.finos.timebase-ce:timebase-aerondirect

Timebase Aeron Client API Library

  • Versions: 25
  • Dependent Packages: 1
  • Dependent Repositories: 3
Rankings
Dependent repos count: 13.8%
Average: 28.1%
Stargazers count: 30.2%
Dependent packages count: 33.0%
Forks count: 35.6%
Last synced: 6 months ago
repo1.maven.org: org.finos.timebase-ce:timebase-s3

Timebase S3 API Library

  • Versions: 25
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.0%
Average: 32.0%
Dependent packages count: 32.0%
Last synced: 6 months ago
repo1.maven.org: org.finos.timebase-ce:timebase-computations-std

Timebase QQL Computation Functions

  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.5%
Average: 39.5%
Dependent packages count: 46.5%
Last synced: 6 months ago
repo1.maven.org: org.finos.timebase-ce:timebase-computations-api

Timebase QQL Computations API

  • Versions: 12
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.5%
Average: 39.5%
Dependent packages count: 46.5%
Last synced: 6 months ago
repo1.maven.org: org.finos.timebase-ce:timebase-qql

Timebase Query Engine Implementation

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.5%
Average: 39.5%
Dependent packages count: 46.5%
Last synced: 6 months ago
repo1.maven.org: org.finos.timebase-ce:timebase-commons

Timebase Commons Server API Library

  • Versions: 25
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.0%
Average: 40.4%
Dependent packages count: 48.9%
Last synced: 6 months ago

Dependencies

.github/workflows/build.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • actions/upload-artifact v2 composite
.github/workflows/release.yml actions
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
java/timebase/client/src/main/docker/Dockerfile docker
  • alpine 3.15.4 build
java/timebase/server/src/main/docker/Dockerfile docker
  • alpine 3.15.4 build
buildSrc/build.gradle maven
  • com.fasterxml.jackson.core:jackson-core 2.10.5 compile
  • com.fasterxml.jackson.core:jackson-databind 2.10.5.1 compile
  • de.undercouch:gradle-download-task 3.4.3 compile
  • junit:junit 4.13.1 testCompile
java/build.gradle maven
  • com.google.code.findbugs:annotations * compileOnly
  • com.google.code.findbugs:jsr305 * compileOnly
  • junit:junit 4.13.1 testCompile
  • org.mockito:mockito-core 1.10.19 testCompile
  • com.google.code.findbugs:jsr305 * testCompileOnly
java/timebase/aerondirect/build.gradle maven
  • com.epam.deltix:gflog-api * implementation
  • com.epam.deltix:timebase-lang * implementation
  • com.epam.deltix:timebase-messages * implementation
  • com.epam.deltix:timebase-util * implementation
  • com.google.guava:guava * implementation
  • com.lmax:disruptor * implementation
  • io.aeron:aeron-client * implementation
  • io.aeron:aeron-driver * implementation
  • com.intellij:annotations * testCompile
  • commons-io:commons-io * testImplementation
  • io.aeron:aeron-archive * testImplementation
java/timebase/api/build.gradle maven
  • com.epam.deltix:timebase-collections * api
  • com.epam.deltix:timebase-lang * api
  • com.epam.deltix:timebase-messages * api
  • com.epam.deltix:timebase-util * api
  • io.aeron:aeron-client * compile
  • io.aeron:aeron-driver * compile
  • com.epam.deltix:containers * implementation
  • com.epam.deltix:dfp * implementation
  • com.epam.deltix:gflog-api * implementation
  • com.epam.deltix:thread-affinity * implementation
  • com.fasterxml.jackson.core:jackson-core * implementation
  • com.google.code.gson:gson * implementation
  • com.google.guava:guava * implementation
  • com.sun.xml.bind:jaxb-core * implementation
  • com.sun.xml.bind:jaxb-impl * implementation
  • commons-io:commons-io * implementation
  • javax.xml.bind:jaxb-api * implementation
  • org.apache.commons:commons-compress * implementation
  • org.apache.commons:commons-lang3 * implementation
java/timebase/client/build.gradle maven
  • com.intellij:annotations * compileOnly
  • com.epam.deltix:containers * implementation
  • com.epam.deltix:dfp * implementation
  • com.epam.deltix:gflog-api * implementation
  • com.epam.deltix:thread-affinity * implementation
  • com.epam.deltix:timebase-lang * implementation
  • com.epam.deltix:timebase-messages * implementation
  • com.epam.deltix:timebase-util * implementation
  • com.google.code.gson:gson * implementation
  • com.google.guava:guava * implementation
  • org.apache.commons:commons-compress * implementation
  • org.apache.commons:commons-lang3 * implementation
  • org.apache.commons:commons-text * implementation
  • org.hdrhistogram:HdrHistogram * implementation
  • com.intellij:annotations * testCompile
  • com.epam.deltix:gflog-jul * testImplementation
  • org.openjdk.jmh:jmh-core * testImplementation
  • org.openjdk.jmh:jmh-generator-annprocess * testImplementation
  • com.epam.deltix:gflog-slf4j * testRuntimeOnly
java/timebase/commons/build.gradle maven
  • com.epam.deltix:timebase-lang * api
  • com.epam.deltix:timebase-messages * api
  • com.epam.deltix:timebase-util * api
  • org.apache.tomcat.embed:tomcat-embed-core * api
  • javax.servlet.jsp.jstl:jstl-api * compileOnly
  • org.apache.taglibs:taglibs-standard-impl * compileOnly
  • com.epam.deltix:gflog-api * implementation
  • com.github.sarxos:windows-registry-util 0.3 implementation
  • commons-collections:commons-collections * implementation
  • javax.mail:mail * implementation
  • javax.servlet:javax.servlet-api 3.1.0 implementation
  • javax.xml.bind:jaxb-api * implementation
  • org.apache.commons:commons-text * implementation
  • org.apache.tomcat.embed:tomcat-embed-jasper * implementation
  • org.apache.tomcat.embed:tomcat-embed-logging-juli * implementation
  • org.glassfish:javax.el 3.0.0 implementation
  • commons-io:commons-io * testImplementation
java/timebase/jdbc/build.gradle maven
  • com.epam.deltix:timebase-lang * implementation
  • com.epam.deltix:timebase-messages * implementation
  • com.epam.deltix:timebase-util * implementation
java/timebase/mibc/build.gradle maven
  • com.epam.deltix:timebase-collections * api
  • com.epam.deltix:timebase-util * api
  • org.snmp4j:snmp4j 2.8.4 api
  • org.snmp4j:snmp4j-agent 2.7.4 api
  • org.apache.commons:commons-compress 1.19 implementation
java/timebase/pub/build.gradle maven
  • com.google.code.findbugs:jsr305 * compileOnly
  • com.epam.deltix:containers * implementation
  • com.epam.deltix:dfp * implementation
  • com.epam.deltix:gflog-api * implementation
  • com.epam.deltix:timebase-collections * implementation
  • com.epam.deltix:timebase-lang * implementation
  • com.epam.deltix:timebase-messages * implementation
  • com.epam.deltix:timebase-util * implementation
  • com.sun.activation:javax.activation 1.2.0 implementation
  • com.sun.codemodel:codemodel 2.6 implementation
  • com.sun.codemodel:codemodel-project 2.6 implementation
  • com.sun.xml.bind:jaxb-core * implementation
  • com.sun.xml.bind:jaxb-impl * implementation
  • javax.activation:javax.activation-api 1.2.0 implementation
  • javax.xml.bind:jaxb-api * implementation
  • org.apache.commons:commons-lang3 * implementation
java/timebase/s3/build.gradle maven
  • com.amazonaws:aws-java-sdk-s3 1.11.1034 implementation
  • com.epam.deltix:gflog-jul * implementation
  • com.epam.deltix:timebase-collections * implementation
  • com.epam.deltix:timebase-lang * implementation
  • org.apache.commons:commons-lang3 * implementation
java/timebase/server/build.gradle maven
  • org.apache.hadoop:hadoop-common * compile
  • org.apache.hadoop:hadoop-mapreduce-client-core * compile
  • org.apache.qpid:qpid-amqp-1-0-client 0.32 compile
  • org.apache.qpid:qpid-jms-client 0.11.1 compile
  • org.glassfish.main.javaee-api:javax.jms 3.1.2.2 compile
  • org.owasp.encoder:encoder * compile
  • com.intellij:annotations * compileOnly
  • com.epam.deltix:containers * implementation
  • com.epam.deltix:dfp * implementation
  • com.epam.deltix:gflog-api * implementation
  • com.epam.deltix:thread-affinity * implementation
  • com.epam.deltix:timebase-collections * implementation
  • com.epam.deltix:timebase-lang * implementation
  • com.epam.deltix:timebase-messages * implementation
  • com.epam.deltix:timebase-util * implementation
  • com.github.ben-manes.caffeine:caffeine 2.5.6 implementation
  • com.google.guava:guava * implementation
  • com.lmax:disruptor * implementation
  • com.sun.xml.bind:jaxb-core * implementation
  • com.sun.xml.bind:jaxb-impl * implementation
  • commons-io:commons-io * implementation
  • javax.servlet.jsp.jstl:jstl-api * implementation
  • javax.xml.bind:jaxb-api * implementation
  • net.jpountz.lz4:lz4 1.3.0 implementation
  • org.apache.commons:commons-lang3 * implementation
  • org.apache.hadoop:hadoop-annotations * implementation
  • org.apache.hadoop:hadoop-auth * implementation
  • org.apache.hadoop:hadoop-common 3.3.1 implementation
  • org.apache.hadoop:hadoop-hdfs 3.3.1 implementation
  • org.apache.hadoop:hadoop-mapreduce-client-common * implementation
  • org.apache.hadoop:hadoop-yarn-api * implementation
  • org.apache.hadoop:hadoop-yarn-client * implementation
  • org.apache.hadoop:hadoop-yarn-common * implementation
  • org.apache.qpid:proton-j 0.15.0 implementation
  • org.apache.taglibs:taglibs-standard-impl * implementation
  • org.bouncycastle:bcpkix-jdk15on * implementation
  • org.glassfish:javax.json * implementation
  • org.springframework:spring-web * implementation
  • org.springframework:spring-webmvc * implementation
  • org.xerial.snappy:snappy-java * implementation
  • org.openjdk.jmh:jmh-core * testImplementation
  • org.openjdk.jmh:jmh-generator-annprocess * testImplementation
java/timebase/snmpagent/build.gradle maven
  • com.epam.deltix:timebase-collections * api
  • com.epam.deltix:timebase-lang * api
  • com.epam.deltix:timebase-util * api
  • org.snmp4j:snmp4j 2.8.4 api
  • org.snmp4j:snmp4j-agent 2.7.4 api
  • rhino:js 1.7R2 api
  • com.epam.deltix:gflog-api * implementation
java/timebase/test/build.gradle maven
  • com.epam.deltix:containers * implementation
  • com.epam.deltix:dfp * implementation
  • com.epam.deltix:gflog-jul * implementation
  • com.epam.deltix:thread-affinity * implementation
  • com.epam.deltix:timebase-collections * implementation
  • com.epam.deltix:timebase-lang * implementation
  • com.epam.deltix:timebase-messages * implementation
  • com.epam.deltix:timebase-util * implementation
  • com.fasterxml.jackson.core:jackson-databind * implementation
  • com.google.code.gson:gson * implementation
  • com.google.guava:guava * implementation
  • com.lmax:disruptor * implementation
  • com.sun.xml.bind:jaxb-core * implementation
  • com.sun.xml.bind:jaxb-impl * implementation
  • commons-io:commons-io * implementation
  • commons-net:commons-net 3.0.1 implementation
  • io.github.resilience4j:resilience4j-ratelimiter 1.3.1 implementation
  • javax.xml.bind:jaxb-api * implementation
  • junit:junit * implementation
  • org.apache.commons:commons-lang3 * implementation
  • org.hdrhistogram:HdrHistogram * implementation
  • com.intellij:annotations * testImplementation
  • net.sourceforge.stripes:stripes 1.5.6 testImplementation
  • org.f1x:f1x * testImplementation
  • org.openjdk.jmh:jmh-core * testImplementation
  • org.openjdk.jmh:jmh-generator-annprocess * testImplementation
java/timebase/web/build.gradle maven
  • com.epam.deltix:gflog-api * compileOnly
  • com.epam.deltix:timebase-util * compileOnly
  • com.sun.activation:javax.activation * compileOnly
  • java:tools * compileOnly
  • javax.servlet.jsp.jstl:jstl-api * compileOnly
  • org.apache.taglibs:taglibs-standard-impl * compileOnly
  • org.apache.tomcat.embed:tomcat-embed-jasper * compileOnly
  • org.apache.tomcat.embed:tomcat-embed-logging-juli * compileOnly
java/timebase/webmonitor/build.gradle maven
  • javax.servlet.jsp.jstl:jstl-api * compileOnly
  • org.apache.taglibs:taglibs-standard-impl * compileOnly
  • org.apache.tomcat.embed:tomcat-embed-jasper * compileOnly
  • org.apache.tomcat.embed:tomcat-embed-logging-juli * compileOnly
java/timebase/client/src/main/docker/java17/Dockerfile docker
  • alpine 3.16.1 build
java/timebase/server/src/main/docker/java17/Dockerfile docker
  • alpine 3.16.1 build
build.gradle maven
distribution/build.gradle maven
java/installer/build.gradle maven
java/timebase/computations-api/build.gradle maven
  • com.epam.deltix:dfp * implementation
  • com.epam.deltix:timebase-collections * implementation
java/timebase/computations-std/build.gradle maven
  • com.epam.deltix:containers * implementation
  • com.epam.deltix:dfp * implementation
  • com.epam.deltix:timebase-messages * implementation