<commit_before>+++
toc = true
date = "2016-12-06T22:38:50+08:00"
title = "核心概念"
weight = 1
prev = "/02-guide"
next = "/02-guide/sharding/"

+++

本文介绍Sharding-JDBC包含的一些核心概念。

## LogicTable
数据分片的逻辑表，对于水平拆分的数据库(表)，同一类表的总称。例：订单数据根据主键尾数拆分为10张表,分别是t_order_0到t_order_9，他们的逻辑表名为t_order。

## ActualTable
在分片的数据库中真实存在的物理表。即上个示例中的t_order_0到t_order_9。

## DataNode
数据分片的最小单元。由数据源名称和数据表组成，例：ds_1.t_order_0。配置时默认各个分片数据库的表结构均相同，直接配置逻辑表和真实表对应关系即可。如果各数据库的表结果不同，可使用ds.actual_table配置。

## DynamicTable
逻辑表和真实表不一定需要在配置规则中静态配置。比如按照日期分片的场景，真实表的名称随着时间的推移会产生变化。此类需求Sharding-JDBC是支持的，不过目前配置并不友好，会在新版本中提升。

## BindingTable<commit_msg>new dow for 2.0 7th version<commit_after>+++
toc = true
date = "2016-12-06T22:38:50+08:00"
title = "核心概念"
weight = 1
prev = "/02-guide"
next = "/02-guide/sharding/"

+++

本文介绍Sharding-JDBC包含的一些核心概念。

## LogicTable
数据分片的逻辑表，对于水平拆分的数据库(表)，同一类表的总称。例：订单数据根据主键尾数拆分为10张表,分别是t_order_0到t_order_9，他们的逻辑表名为t_order。

## ActualTable
在分片的数据库中真实存在的物理表。即上个示例中的t_order_0到t_order_9。

## DataNode
数据分片的最小单元。由数据源名称和数据表组成，例：ds_1.t_order_0。配置时默认各个分片数据库的表结构均相同，直接配置逻辑表和真实表对应关系即可。如果各数据库的表结果不同，可使用ds.actual_table配置。

## BindingTable
{'fraction_non_alphanumeric': 0.12724014336917563, 'fraction_numerical': 0.05824372759856631, 'mean_word_length': 9.342592592592593, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3074223', 'n_tokens_mistral': 787, 'n_tokens_neox': 841, 'n_words': 48}