프로젝트 소개

Apache ShardingSphere는 Apache Top-Level Project로, "Database Plus"로 포지셔닝됩니다. 이는 새로운 데이터베이스가 아니라 기존의 이기종 데이터베이스 위에 구축되는 표준 및 생태계 계층입니다. 여러 데이터베이스를 하나처럼 동작하게 하여 통합 액세스와 향상된 컴퓨팅 기능을 제공하는 것을 목표로 합니다. 이 프로젝트는 세 가지 핵심 축으로 구성됩니다: Connect(데이터베이스 프로토콜, SQL 방언 및 저장 형식 적응), Enhance(분산 컴퓨팅, 보안, 트래픽 제어 및 관측 기능 추가), Pluggable(커널, 기능 구성 요소 및 생태계 통합을 분리하는 마이크로 커널 및 3계층 플러그형 아키텍처). 두 가지 액세스 엔드포인트가 제공됩니다. ShardingSphere-JDBC는 향상된 JDBC 드라이버 역할을 하는 경량 Java 프레임워크로, 별도 배포 없이 애플리케이션에서 데이터베이스에 직접 연결하며 일반적인 ORM 프레임워크와 호환됩니다. ShardingSphere-Proxy는 독립적으로 배포되는 투명한 데이터베이스 프록시로, MySQL/PostgreSQL 호환 프로토콜을 사용하여 다른 언어의 클라이언트가 연결할 수 있고 DBA에게 안정적인 진입점을 제공합니다. 두 가지는 공유 레지스트리 센터와 통합 구성을 사용하여 독립적으로 또는 하이브리드 방식으로 배포할 수 있습니다. 문서화된 기능에는 데이터 샤딩(수평, 수직 및 사용자 정의 전략), 로드 밸런싱 및 장애 조치를 포함한 읽기/쓰기 분리, 분산 트랜잭션(XA 및 BASE), 데이터 암호화 및 마스킹, SQL 감사 및 액세스 제어, 섀도우 데이터베이스 스트레스 테스트, 관측 기능, MySQL, PostgreSQL, Oracle, SQL Server 및 Firebird와 같은 데이터베이스 간 SQL 방언 변환이 포함됩니다. 클러스터 배포, Kubernetes 통합 및 모니터링도 설명됩니다. README는 이 프로젝트가 2020년 4월에 Apache Top-Level Project가 되었으며 많은 프로젝트에서 사용된다고 언급합니다. 또한 JDBC 어댑터가 ANTLR의 SQL 파싱 캐시에 의존하며, SQL 템플릿이 많아지면 캐시가 커질 수 있으므로 적절한 힙 크기를 구성해야 한다고 경고합니다. 문서, 기여 지침, 메일링 리스트, GitHub 이슈 및 릴리스 노트 링크가 포함됩니다. 버전 5.5.4-SNAPSHOT은 활발히 개발 중인 것으로 설명됩니다.