자동 테이블: 당신의 관리자 구분 설정 도구
5683 단어 shardingshardingspheredbmsjava
배경.
Sharding
는 Apache ShardingSphere의 핵심 기능입니다.기존 분할 워크플로우(데이터 마이그레이션 없음)는 다음과 같습니다.이러한 작업 흐름에서 당신은 절분 전략, 실제 표 이름과 데이터 원본을 명확하게 이해해야 합니다.그리고 이 정보에 따라 절분 규칙을 제정한다.
표 분포 결과 중 하나는 8개의 섹션 데이터베이스일 수 있으며 데이터베이스마다 4개의 표를 포함한다.
문제.
테이블의 분포를 100% 확정할 때만 정확한 actualDataNodes 규칙을 작성할 수 있습니다.그렇지 않으면, 너는 잘못 쓸 수도 있다.이 경우 올바른 구분 규칙은 다음과 같습니다.
tables:
t_order:
actualDataNodes: ds_${0..7}.t_order_${0..3}
databaseStrategy:
standard:
shardingColumn: order_id
shardingAlgorithmName: database_inline
tableStrategy:
standard:
shardingColumn: order_id
shardingAlgorithmName: table_inline
shardingAlgorithms:
database_inline:
type: INLINE
props:
algorithm-expression: ds_${order_id % 8}
table_inline:
type: INLINE
props:
algorithm-expression: t_order_${order_id % 4}
ShardingSphere에는 실제로 매우 사용자 친화적인 구성 규칙이 있습니다.그러나 사용자는 다음과 같은 어려움을 겪을 수 있습니다.당신은 왜 자동 충전이 필요합니까
Apache ShardingSphere 버전 5.0.0
AutoTable
이 출시되었으며 슬라이스 구성을 쉽게 수행할 수 있습니다.글씨체로 보면
AutoTable
는 자동 표절분을 의미한다.AutoTable
를 사용할 때는 슬라이스 수와 데이터 원본만 지정하면 됩니다.AutoTable로 인해 실제 테이블 분포를 걱정할 필요가 없습니다.올바른 구성 형식은 다음과 같습니다.autoTables:
t_order:
# Specify your datasources
actualDataSources: ds_${0..7}
shardingStrategy:
standard:
shardingColumn: order_id
shardingAlgorithmName: mod
shardingAlgorithms:
mod:
type: MOD
props:
# Specify your sharding-count
sharding-count: 32
자동 조정 가능으로 ShardingSphere는 논리표t_order
에 8개의 데이터 원본을 식별할 수 있고 32개의 섹션 테이블이 필요하다. 그리고 분포 결과를 자동으로 계산한다. 8개의 섹션 데이터베이스*4개의 섹션 테이블이다.결과는 완전히 같다.AutoTable&DistSQL
현재, 당신은
AutoTable
에 대해 더 많이 알고 있습니다.그러나 AutoTable를 DistSQL과 결합하면 탄젠트 구성을 크게 단순화할 수 있으므로 더욱 인상적인 결과를 얻을 수 있습니다.DistSQL 구성 규칙은 기존 방식과 달리 즉시 작동하므로 다시 시작할 필요가 없습니다.그 밖에 하나의 규칙의 변화는 영원히 다른 규칙에 영향을 미치지 않을 것이다.DistSQL은 섹션 테이블 규칙을 관리하는 세 가지 표현식을 지원합니다:create,alter,drop.
# Create a sharding table rule
CREATE SHARDING TABLE RULE t_order (
RESOURCES(resource_0,resource_1),
SHARDING_COLUMN=order_id,TYPE(NAME=hash_mod,PROPERTIES("sharding-count"=4))
);
# Ater a sharding table rule
ALTER SHARDING TABLE RULE t_order (
RESOURCES(resource_0,resource_1),
SHARDING_COLUMN=order_id,TYPE(NAME=hash_mod,PROPERTIES("sharding-count"=10))
);
# Drop a sharding table rule
DROP SHARDING TABLE RULE t_order;
참고: 규칙 변경은 이전 데이터에 영향을 줄 수 있습니다.이 문제를 해결하기 위해서, 우리는 ShardingSphere 축소를 제공하여, 데이터를 이동할 수 있고, 분포식 데이터를 관리하는 데 더욱 편리함을 제공합니다.우리는 머지않아 Sharding Sphere 축소에 대한 더 많은 정보를 공유할 수 있어서 매우 기쁘다.FAQ
ShardingSphere JDBC에서 AutoTable를 사용할 수 있습니까?
네, 할 수 있어요.
ShardingSphere JDBC와 ShardingSphere 에이전트는 모두 자동 테이블을 지원합니다.또한 에이전트에서 DistSQL을 사용하여 다양한 액세스 요구 사항을 충족하도록 동적으로 구성할 수 있습니다.
AutoTable는 어떤 탄젠트 알고리즘을 지원합니까?
AutoTable는 모든 자동 슬라이스 분할 알고리즘을 지원합니다.
내장 알고리즘 외에도 필요할 때 맞춤형 분할 알고리즘을 만들 수 있도록 SPI 확장을 개발할 수 있습니다.
나는 이미 YAML을 사용한 적이 있다.지금 자동시계를 사용할 수 있습니까?
우리는 네가 이렇게 하는 것을 건의하지 않는다.
만약 이러한 전환이 표의 분포 결과를 기대에 부합할 수 있다고 확신한다면, 한번 시도해 보십시오.그렇지 않으면 이렇게 하지 마세요.
그러나 새 테이블을 작성하려면 AutoTable을 시작합니다.
자동 충전의 가장 좋은 방안은 무엇입니까?
AutoTable의 목표는 당신이 배치를 나누는 관리인이 되는 것입니다.네가 해야 할 일은 조각이 얼마나 필요한지 알려주는 것이다. 그러면 실제 시계의 위치와 계수를 기억하는 번거로움을 줄일 수 있다.
자동 테이블을 사용하려면 먼저 규칙을 설정한 다음
CREATE TABLE
로 테이블을 만드는 것이 좋습니다.낡은 습관은 고치기 어렵지만, 먼저 표를 만들고, 그 다음에 규칙을 설정하는 낡은 습관을 바꾸십시오.현재ShardingSphere는 중간부품이 아닌 분포식 데이터베이스 접근점과 같다.내 데이터 원본 이름이 연속되지 않거나 데이터 원본 이름이 너무 많습니다.자동시계를 사용할 수 있습니까?
네, 할 수 있어요.데이터 원본을 지정할 때, 그것들의 이름은 연속할 필요가 없다.이 문제를 해결하려면 열거 표현식과 내연 표현식을 동시에 사용할 수 있습니다.
CREATE SHARDING TABLE RULE t_order (
RESOURCES('resource_${0..9}',resource_12,resource_15,"resource_$->{17..19}"),
...
);
AutoTable과 이전 방법을 모두 사용할 수 있습니까?네, 할 수 있어요.
자세한 내용은 https://github.com/apache/shardingsphere/blob/master/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/resources/config/config-sharding.yaml
우리도 다른 지역사회 구성원들이 우리가 더 많은 문제를 발견하고 지역사회를 개선하는 것을 돕는 것을 환영한다.
ShardingSphere 커뮤니티:
ShardingSphere Github:https://github.com/apache/shardingsphere
ShardingSphere 트위터: https://twitter.com/ShardingSphere
ShardingSphere 이완 채널: apacheshardingsphere.slack.com
투고자 가이드: https://shardingsphere.apache.org/community/en/contribute/
작자
저장 성
SphereEx 중간부품 개발 엔지니어 겸 Apache Sharding Sphere 기여자.
Reference
이 문제에 관하여(자동 테이블: 당신의 관리자 구분 설정 도구), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/apache_shardingsphere/autotable-your-butler-like-sharding-configuration-tool-2pla텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)