• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

yugabyte-db: YugaByte DB 是一个高性能、云原生的分布式 SQL 数据库 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

yugabyte-db

开源软件地址:

https://gitee.com/mirrors/yugabyte-db

开源软件介绍:

YugabyteDB

LicenseDocumentation StatusAsk in forumSlack chatAnalytics

What is YugabyteDB?

YugabyteDB is a high-performance, cloud-native distributed SQL database that aims to support all PostgreSQL features. It is best to fit for cloud-native OLTP (i.e. real-time, business-critical) applications that need absolute data correctness and require at least one of the following: scalability, high tolerance to failures, or globally-distributed deployments.

Core Features

  • Powerful RDBMS capabilities Yugabyte SQL (YSQL for short) reuses the query layer of PostgreSQL (similar to Amazon Aurora PostgreSQL), thereby supporting most of its features (datatypes, queries, expressions, operators and functions, stored procedures, triggers, extensions, etc). Here is a detailed list of features currently supported by YSQL.

  • Distributed transactions The transaction design is based on the Google Spanner architecture. Strong consistency of writes is achieved by using Raft consensus for replication and cluster-wide distributed ACID transactions using hybrid logical clocks. Snapshot, serializable and read committed isolation levels are supported. Reads (queries) have strong consistency by default, but can be tuned dynamically to read from followers and read-replicas.

  • Continuous availability YugabyteDB is extremely resilient to common outages with native failover and repair. YugabyteDB can be configured to tolerate disk, node, zone, region, and cloud failures automatically. For a typical deployment where a YugabyteDB cluster is deployed in one region across multiple zones on a public cloud, the RPO is 0 (meaning no data is lost on failure) and the RTO is 3 seconds (meaning the data being served by the failed node is available in 3 seconds).

  • Horizontal scalability Scaling a YugabyteDB cluster to achieve more IOPS or data storage is as simple as adding nodes to the cluster.

  • Geo-distributed, multi-cloud YugabyteDB can be deployed in public clouds and natively inside Kubernetes. It supports deployments that span three or more fault domains, such as multi-zone, multi-region, and multi-cloud deployments. It also supports xCluster asynchronous replication with unidirectional master-slave and bidirectional multi-master configurations that can be leveraged in two-region deployments. To serve (stale) data with low latencies, read replicas are also a supported feature.

  • Multi API design The query layer of YugabyteDB is built to be extensible. Currently, YugabyteDB supports two distributed SQL APIs: Yugabyte SQL (YSQL), a fully relational API that re-uses query layer of PostgreSQL, and Yugabyte Cloud QL (YCQL), a semi-relational SQL-like API with documents/indexing support with Apache Cassandra QL roots.

  • 100% open source YugabyteDB is fully open-source under the Apache 2.0 license. The open-source version has powerful enterprise features such as distributed backups, encryption of data-at-rest, in-flight TLS encryption, change data capture, read replicas, and more.

Read more about YugabyteDB in our Docs.

Get Started

Cannot find what you are looking for? Have a question? Please post your questions or comments on our Community Slack or Forum.

Build Apps

YugabyteDB supports several languages and client drivers. Below is a brief list.

LanguageORMYSQL DriversYCQL Drivers
JavaSpring/HibernatePostgreSQL JDBCcassandra-driver-core-yb
GoGormpqgocql
NodeJSSequelizepgcassandra-driver
PythonSQLAlchemypsycopg2yb-cassandra-driver
RubyActiveRecordpgyugabyte-ycql-driver
C#EntityFrameworknpgsqlCassandraCSharpDriver
C++Not testedlibpqxxcassandra-cpp-driver
CNot testedlibpqNot tested

What's being worked on?

This section was last updated in March, 2022.

Current roadmap

Here is a list of some of the key features being worked on for the upcoming releases (the YugabyteDB v2.13 latest release has been released in March, 2022, and the v2.12 stable release was released in Feb 2022).

FeatureStatusRelease TargetProgressComments
Faster Bulk-Data Loading in YugabyteDBPROGRESSv2.15TrackMaster issue to track improvements to make it easier and faster to get large amounts of data into YugabyteDB.
Database-level multi-tenancy with tablegroupsPROGRESSv2.15TrackMaster issue to track Database-level multi-tenancy using tablegroups.
Upgrade to PostgreSQL v13PROGRESSv2.15TrackFor latest features, new PostgreSQL extensions, performance, and community fixes
Support for in-cluster PITRPROGRESSv2.15TrackPoint in time recovery of YSQL databases, to a fixed point in time, across DDL and DML changes
Automatic tablet splitting enabled by defaultPROGRESSv2.15TrackEnables changing the number of tablets (which are splits of data) at runtime.
YSQL-table statistics and cost based optimizer(CBO)PROGRESSv2.15TrackImprove YSQL query performance
YSQL-Feature support - ALTER TABLEPROGRESSv2.15TrackSupport for various ALTER TABLE variants
YSQL-Online schema migrationPROGRESSv2.15TrackSchema migrations(includes DDL operations) to be safely run concurrently with foreground operations
Pessimistic locking DesignPROGRESSv2.15Track
Make COLOCATED tables default for YSQLPLANNINGTrack
Support for transactions in async xCluster replicationPLANNINGTrackApply transactions atomically on consumer cluster.
Support for GiST indexesPLANNINGTrackSuppor for GiST (Generalized Search Tree) based index

Recently released features

FeatureStatusRelease TargetDocs / EnhancementsComments
Change Data CaptureDONEv2.13Change data capture (CDC) allows multiple downstream apps and services to consume the continuous and never-ending stream(s) of changes to Yugabyte databases
Support for materalized viewsDONEv2.13DocsA materialized view is a pre-computed data set derived from a query specification and stored for later use
Geo-partitioning support for the transaction status tableDONEv2.13DocsInstead of central remote transaction execution metatda, it is now optimized for access from different regions. Since the transaction metadata is also geo partitioned, it eliminates the need for round-trip to remote regions to update transaction statuses.
Transparently restart transactionsDONEv2.13Decrease the incidence of transaction restart errors seen in various scenarios
Row-level geo-partitioningDONEv2.13DocsRow-level geo-partitioning allows fine-grained control over pinning data in a user table (at a per-row level) to geographic locations, thereby allowing the data residency to be managed at the table-row level.
YSQL-Support GIN indexesDONEv2.11DocsSupport for generalized inverted indexes for container data types like jsonb, tsvector, and array
YSQL-Collation SupportDONEv2.11DocsAllows specifying the sort order and character classification behavior of data per-column, or even per-operation according to language and country-specific rules
YSQL-Savepoint SupportDONEv2.11DocsUseful for implementing complex error recovery in multi-statement transaction
xCluster replication management through PlatformDONEv2.11Docs
Spring Data YugabyteDB moduleDONEv2.9TrackBridges the gap for learning the distributed SQL concepts with familiarity and ease of Spring Data APIs
Support Liquibase, Flyway, ORM schema migrationsDONEv2.9Docs
Support ALTER TABLE add primary keyDONEv2.9Track
YCQL-LDAP SupportDONEv2.8Docssupport LDAP authentication in YCQL API
Platform Alerting and NotificationDONEv2.8DocsTo get notified in real time about database alerts, user defined alert policies notify you when a performance metric rises above or falls below a threshold you set.
Platform APIDONEv2.8DocsSecurely Deploy YugabyteDB Clusters Using Infrastructure-as-Code

Architecture

YugabyteDB Architecture

Review detailed architecture in our Docs.

Need Help?

Contribute

As an an open-source project with a strong focus on the user community, we welcome contributions as GitHub pull requests. See our Contributor Guides to get going. Discussions and RFCs for features happen on the design discussions section of our Forum.

License

Source code in this repository is variously licensed under the Apache License 2.0 and the Polyform Free Trial License 1.0.0. A copy of each license can be found in the licenses directory.

The build produces two sets of binaries:

  • The entire database with all its features (including the enterprise ones) are licensed under the Apache License 2.0
  • The binaries that contain -managed in the artifact and help run a managed service are licensed under the Polyform Free Trial License 1.0.0.

By default, the build options generate only the Apache License 2.0 binaries.

Read More


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap