# DianaDB > DianaDB is a modern, column-oriented NoSQL DBMS written in Node.js/TypeScript. It stores documents in a columnar format where every field acts as an index, enabling exceptional query performance. It supports spatial queries, time-based queries, cross-database lookups, ACID transactions, subscriptions, migrations, and materialized views. DianaDB is authored and maintained by Data Bikers Limited (Hong Kong). It is conceptually similar to MongoDB but architecturally distinct — columnar storage, schema-enforced, with a TypeScript-native ODM. ## Server - [Install on Linux](https://diana-db.com/server/linux): Debian and Alpine install instructions, CLI tool reference, and config file documentation - [Install with Docker](https://diana-db.com/server/docker): Dockerfile and Docker Compose setup for Debian and Alpine base images ## ODM (Node.js Client) - [Overview](https://diana-db.com/odm/overview): Installation, DianaDb constructor options, and all client methods (connect, disconnect, subscribe, migrations, transactions) - [Schema and Types](https://diana-db.com/odm/schema): Document schema definition, all field options (type, required, unique, mutable, default, items, reference, triggerRemove, ttl), and all supported types (STRING, NUMBER, BOOLEAN, POSITION, OBJECT_ID, REFERENCE, TIME, ARRAY) - [Model](https://diana-db.com/odm/model): Model class, constructor options, and all model methods (insert, find, count, update, remove) - [Find and Count](https://diana-db.com/odm/model/find): Find/count methods, all query operands, transform pipelines ($project, $group, $match, $lookup, $unwind, $replaceRoot, $sort, $skip, $limit), projection operands, distinct/max/min methods - [Insert](https://diana-db.com/odm/model/insert): Insert method usage and returned document shape - [Update](https://diana-db.com/odm/model/update): Update method, string/number/array/time update operators - [Remove](https://diana-db.com/odm/model/remove): Remove method usage - [Subscribe](https://diana-db.com/odm/subscribe): Subscribe to database/collection changes, DatabaseUpdate contract - [Migrations](https://diana-db.com/odm/migrations): setMigration, migrateUp, migrateDown - [Transactions](https://diana-db.com/odm/transactions): ACID transactions, startTransaction, commitTransaction, rollbackTransaction - [Materialized Views](https://diana-db.com/odm/views): createView, findByView, countByView ## Project - [Changelog](https://diana-db.com/changes-log): Release history with server and ODM version tags - [Upcoming Features](https://diana-db.com/announced-features): Roadmap including replication, TLS, access management, desktop GUI, and additional language clients - [Issue Reporting](https://diana-db.com/issue-reporting): GitHub Issues link - [License](https://diana-db.com/license): MIT with usage restriction — may not be used to create competing products without written consent from Data Bikers Limited - [npm](https://www.npmjs.com/package/@diana-db/odm): ODM package - [GitHub](https://github.com/databikers/diana-db): Source and issues