OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ROADMAP

OmniSciDB is being intensively developed and is evolving quickly. In order to help the MapD developer community understand our near term priorities, this document shares work targeted for the next 3-6 months. Many of these items are the result of community requests.

We welcome and encourage developer contributions to the project. Please see the contribution guidelines and GitHub issues.

Database

Completed

  • Update via subquery (Completed 5.0)
  • Binary/dump restore of tables (Completed 5.0)
  • In-memory temporary tables (Completed 5.1)
  • Support for SQL VALUES syntax, allowing literals to be used inline in SQL queries (Completed 5.1.2)
  • More performant multi-fragment joins (Completed 5.2)
  • ALTER TABLE DROP COLUMN (Completed 5.2)
  • SQL SHOW Commands (Completed 5.2)
  • Import of compressed parquet files (Completed 5.2)
  • Initial support for UNION ALL (Completed 5.3)
  • Initial support of multiple executors for improved concurrency (Completed 5.3+)
  • Query hint framework, initially allowing /*+ cpu_mode */ hint (Completed 5.3.1)
  • Support for implicit casting forINSERT AS SELECTqueries to match existing table types when possible
  • ConcurrentUPDATEandSELECT` on the same table (Completed 5.5)
  • Allow none-encoded inputs into user defined functions (Completed 5.5)
  • Initial foreign Server/Table support for CSV and Parquet (Completed 5.4-5.5)
  • Query interrupt improvements (Completed 5.5 and ongoing)

Upcoming

  • APPROX_MEDIAN and APPROX_PERCENTILE operators
  • Additional string function support
  • Queryable system metadata tables
  • Accelerated range joins
  • Query interrupt improvements
  • Query/subquery result set recycling for greater performance

Geospatial/GIS

Completed

  • OGC full "simple features" constructive geospatial operators (ST_Buffer, ST_Intersects, ST_Union, etc) (Completed 5.2+)
  • Null support for geo types (5.2)
  • Export of conventional and line-oriented geoJSON in geoSQL (5.4)
  • Geopandas dataframe generation through Ibis (https://github.com/ibis-project/ibis)
  • Support for well-known binary (WKB) in columnar loading for increased import performance (5.5)
  • Support for CSV file reprojection on import (5.5)
  • ST_Buffer support for automatic planar projections in meters (5.5)
  • ST_Centroid operator (5.5)

Upcoming

  • Additional OGC multipart geospatial types: Multi(Point|Line)
  • Additional geometric constructors (ST_Line, ST_Polygon, etc.)
  • Accelerated geospatial joins (with dynamic spatial hashing)
  • OGC Geopackage import and export
  • GPU-accelerated transforms between supported coordinate systems

Data Science/GPU Data Frame (GDF)/Apache Arrow

Completed

  • PyMapD DB-API Python client
  • Ibis backend for MapD
  • Support for Arrow result sets over the wire (in addition to existing in-situ Arrow egress) (Completed 5.5)
  • Basic user-defined row and table functions (Completed 5.0, with ongoing improvements)
  • User-defined table function (Completed UDTF) improvements (multiple column/query inputs, composability, lazy linking, function redefinition) (Completed 5.4-5.5)
  • CREATE DATAFRAME temporary table creation from csv via Arrow (Completed 5.4 and ongoing)

Upcoming

  • Further increase efficiency of Arrow serialization
  • Additional UDF/UDTF improvements (dictionary-encoded text column support, variadic types, performance on large inputs, semantics)
  • Experimental ML operators built on UDTFs