MCPcopy Index your code
hub / github.com/cashapp/pranadb

github.com/cashapp/pranadb @v0.1.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.6 ↗ · + Follow
12,776 symbols 50,575 edges 572 files 3,981 documented · 31%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

PranaDB

PranaDB is a distributed streaming database, designed from the outset to be horizontally scalable.

Do you like relational databases? Do you like Apache Kafka? PranaDB lives at the intersection of the two.

  • Ingest data from Apache Kafka topics
  • Define continuously and incrementally updating materialized views over that data.
  • Use standard SQL to query that data.
  • Define custom processors to process that data
  • Stream data directly into and out of PranaDB

Think:

  • Like Kafka but where you can query the data in your topics
  • Like a relational database, but where you can get incrementally updating materialized views, and streaming queries.

Status

PranaDB is currently a work in progress and is some of the features are currently available a a tech preview. We aim to get most of the feature complete later this year.

Contributing

Please take a look at the outstanding issues, and chat with us in our Gitter community.

In order to contribute please sign the block CLA

Docs

User manual

Try the demo

Frequently asked questions

Extension points exported contracts — how you extend this code

IConcurrentStateMachine (Interface)
IConcurrentStateMachine is the interface to be implemented by application's state machine when concurrent access to the [8 …
dragonboat/statemachine/concurrent.go
ISavable (Interface)
ISavable is the interface for types that can its content saved as snapshots. [9 implementers]
dragonboat/internal/rsm/managed.go
TransportFactory (Interface)
TransportFactory is the interface used for creating custom transport modules. [6 implementers]
dragonboat/config/config.go
ImplementationRule (Interface)
ImplementationRule defines the interface for implementation rules. [10 implementers]
tidb/planner/implementation_rules.go
IChunkSink (Interface)
IChunkSink is the snapshot chunk sink for handling snapshot chunks being streamed. [5 implementers]
dragonboat/raftpb/raft.go
Collator (Interface)
Collator provides functionality for comparing strings for a given collation order. [5 implementers]
tidb/util/collate/collate.go
Command (Interface)
Command represents something that can be run by the load runner [5 implementers]
loadrunner/commands.go
ClusterMessageHandler (Interface)
(no doc) [11 implementers]
remoting/cluster_message.go

Core symbols most depended-on inside this repo

Errorf
called by 2842
dragonboat/logger/logger.go
Fatalf
called by 1060
dragonboat/internal/logdb/kv/pebble/kv_pebble.go
get
called by 640
tidb/expression/builtin_vectorized.go
IsNull
called by 593
tidb/types/datum.go
put
called by 572
tidb/expression/builtin_vectorized.go
WithStack
called by 508
errors/wrap.go
NumRows
called by 485
tidb/util/chunk/chunk.go
cloneFrom
called by 461
tidb/expression/builtin.go

Shape

Method 7,727
Function 3,349
Struct 1,442
Interface 130
TypeAlias 86
FuncType 41
Class 1

Languages

Go100%
C1%
C++1%

Modules by API surface

tidb/expression/builtin_time.go547 symbols
dragonboat/raftpb/raft.pb.go324 symbols
tidb/expression/builtin_string.go309 symbols
tidb/expression/builtin_compare.go246 symbols
dragonboat/nodehost_test.go239 symbols
tidb/expression/builtin_math.go195 symbols
tidb/expression/builtin_cast.go177 symbols
protos/squareup/cash/pranadb/v1/service/service.pb.go176 symbols
dragonboat/internal/raft/raft.go155 symbols
dragonboat/internal/raft/raft_test.go151 symbols
tidb/planner/transformation_rules.go143 symbols
tidb/types/time.go141 symbols

For agents

$ claude mcp add pranadb \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page