Please find my replies inlined. Hope this helps.
Must to have features :
Distributed clock sync and transaction when updating multiple collections/tables/nodes
We have distributed transactions.
Declarative query language to push maximum computation to database as it is more aware of data locality and constraint.
a. complex JOINS idioms (something similar to aggregation $lookUp and $graphLookup in MongoDB 3.6 )
b. composition of Select/Insert / update /Delete into single query (like OpenCypher)
c. Oracle/Postgres SQL like parallel execution semantics/hints when needed
Yes, each query is broken into sub-queries and executed concurrently.
d. ability to define custom functions and aggregate functions (to avoid the frequent round trips to application server for such computations back and forth)
Currently, there’re no custom aggregators.
Optional schema validation at db level
DB driver for JS and Clojure(or Java)
Yes, we have a Java and JS driver.
a. Async support - Go has goroutines, but I think it’s blocking calls in Java.
b. Connection Pool
c. Cluster awareness (should not require HA proxy to load balance) - Yes
d. maintain transaction across multiple calls to DB - Yes
e. TLS 1.2 or later support - Yes
a. Regular (Btree) index and composite index - Yes, we have indices.
b. Unique index - Currently, not.
c. Text search with score and weight ordering - Text search yes, but no scoring yet.
d. Geo Index - Yes
Custom Table/collection partitioning based on value of attribute or function - Data is distributed, yes.
Configurable replication factor or default as 3 if not configurable - Yes
Either Good admin UI for efficient cluster management or Fairly nice command line tools to do the same - Under construction.
No significant loss of throughput (read/write) while new node is joining in or leaving from cluster - Yes
DB users authentication and roles authorization level security - Planned
Should support all features on Single server for local development and testing environment - Yes
Either Hot back up or Multi DC support - Backup planned, multi-DC support should work, more testing required.
Basic data encryption support - Not yet.
Good to have features:
Materialized View (implicitly triggered computed table)
Auto balancing of sharded table chunks in cluster by learning query patterns over period of time to achieve data locality (or any other mechanism to speed up queries in distributed fashion) - Shard rebalancing, currently using a basic data size heuristic. Can be made smarter over time.
a. Partial indexes - index over subset of table/collection data - No partial indices.
b. functional indexes - index over subset of table/collection data categorized by function output value - No partial indices yet.
Cloud hosting support (AWS/Azure/GCP) - Planned for Q1 2018.