샤딩 - 데이터베이스 샤딩 및 테이블 절단 후 Java 백엔드 코드 구현 및 모범 사례
过去多啦不再A梦
过去多啦不再A梦 2017-06-23 09:12:49
0
5
917

현재 비즈니스에서는 일부 테이블이 점점 커지면서 읽을 때의 부담이 매우 높기 때문에(쓰기에 대한 수요는 상대적으로 적음) 데이터베이스 측면에서 특히 많은 양의 데이터가 포함된 일부 테이블을 잘라내기로 결정했습니다. 하지만 백엔드 코드에는 많은 것이 있습니다. 코드/쿼리는 이러한 테이블을 조인해야 합니다. 이 상황을 어떻게 해결합니까?

예를 들어, 이제 약 1억 개의 데이터가 포함된 SampleTable이 있습니다. 이를 로직에 따라 약 16개의 테이블로 나누었습니다: SampleTable 1, SampleTable2...SampleTable31,
이전 코드에도 비슷한 쿼리가 있었습니다. 받는 사람:

으아악

이제 이 쿼리를 여러 번 실행하고 데이터를 반환 결과로 집계해야 합니까?

으아악

더 나은 방법이나 권장 라이브러리가 있습니까?

향후에 여러 테이블을 서로 다른 데이터베이스 서버로 분할하려면 백엔드 코드에 서로 다른 DB의 데이터베이스 연결을 추가해야 하나요?

데이터베이스 샤딩의 기본 아이디어와 샤딩 전략

이 기사는 데이터베이스 샤딩 전략에 대해 자세히 설명합니다. 누구든지 실제 프로젝트 코드 샘플을 제공할 수 있나요?
데이터베이스 샤딩 및 JPA
-sql-joins 대신 수행할 작업 -크기 조정 중-수평

Stackoverflow에 대한 답변

过去多啦不再A梦
过去多啦不再A梦

모든 응답(5)
大家讲道理

데이터베이스 미들웨어 도입을 고려해 볼 수 있습니다
sharding-jdbc 클라이언트 레벨
mycat-server 서버 레벨

世界只因有你

친구가 SQL 스타일 쿼리를 지원하고 1억 개의 데이터에 대해 약 0.5초 만에 결과를 반환하는 Spark를 추천했습니다

ringa_lee

우리 프로젝트의 현재 상황에 한해: 테이블을 분할할 때 해시 알고리즘에 따라 특정 테이블에 해당하고, 가져올 때 알고리즘에 따라 데이터의 분포 위치를 먼저 얻은 다음 일반 선택을 수행합니다. 끝났어

漂亮男人

조인 테이블 쿼리는 권장하지 않습니다
1. 데이터베이스 리소스는 상대적으로 소중하며, 조인 테이블 쿼리는 많은 메모리를 차지하므로 데이터베이스 성능이 저하됩니다.
2. 여러 데이터베이스 인스턴스에서는 데이터가 지원되지 않습니다. 상황을 처리할 수 없고 확장성이 좋지 않습니다

일반적인 접근 방식은 조인 테이블 쿼리를 여러 개의 단일 테이블 쿼리로 나눈 다음 결과를 애플리케이션에 요약하는 것입니다.
1. 위의 테이블 쿼리 문제를 해결할 수 있습니다.
2. 여러 쿼리의 경우 각 쿼리의 중간 결과도 프로그램에서 처리할 수 있어 유연성이 뛰어납니다.
3. 애플리케이션은 언제든지 확장될 수 있어 더욱 유연해집니다

오프라인 시나리오인 경우 hadoop 등의 MR(mapreduce) 프레임워크를 사용하여 처리하는 것이 좋습니다. 따라서 데이터를 HDFS에 작성해야 합니다.

学霸

http://blog.csdn.net/tianyale...
하위 데이터베이스 및 하위 테이블에 대한 자세한 설명

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!