1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
// Copyright 2021 TiKV Project Authors. Licensed under Apache-2.0. //! # TiKV's Coprocessor Framework //! //! A coprocessor framework that allows custom, pluggable coprocessor plugins to execute arbitrary //! user requests directly on TiKV nodes. //! //! *Note: While there currently also exists a different [coprocessor][super::coprocessor] that is //! designed to execute a defined set of functions on TiKV nodes, this coprocessor framework allows //! to register "coprocessor plugins" that can execute arbitrary code directly on TiKV nodes. //! The long-term goal is to fully replace the existing coprocessor with an equivalent plugin for //! this coprocessor.* //! //! ## Background //! //! The design of the coprocessor framework follows closely the principles of //! [HBase's coprocessor][hbase-copr] which in turn is built on the ideas of the coprocessor //! framework in Google's BigTable. //! //! By registering new coprocessor plugins, users are able to extend the functionality of TiKV and //! run code directly on storage nodes. This usually leads to dramatically increased performance //! because the CPU of TiKV nodes can be utilized for computation and the amount of data transfer //! can be reduced. //! //! //! [hbase-copr]: https://blogs.apache.org/hbase/entry/coprocessor_introduction mod config; mod endpoint; mod plugin_registry; mod raw_storage_impl; pub use self::endpoint::Endpoint; pub use config::Config;