데이터베이스 선택 방법: 1. 대상, 2. 기능, 3. 동시성 문제를 이해하는 사람 수, 5. 사용되는 운영 체제. ㅋㅋㅋ
(1) 대상
(2) 기능
(3) 사용하는 사람 수(동시성 문제)• MS SQL Server(4) 보안 및 안정성 (5) 사용하는 운영체제(UNIX, linux, windows) 사용하는 데이터베이스는 다음과 같습니다. : • DOS/Novell/Windows 3.x 세계의 dBase/FoxBase/FoxPro
• Oracle
• Sybase SQL/ASE 서버• Sybase IQ
• Informix / 다이나믹• MySQL • PostGreSQL/EnterpriseDB몇 가지 주요 요구 사항에 대한 선택:
미션 크리티컬(OLTP) 및 고성능 시스템
데이터베이스가 주요 비즈니스 시스템에서 더 중요한 역할을 해야 하는 경우, 그리고 다운타임/고가용성/클러스터링, 안정성(성능 및 데이터 볼륨), 재해 복제 및 자동 보고서 생성 등의 목표를 달성하고 싶거나 극도의 고속 및 저지연(HPC, 고성능 컴퓨팅) 효과를 달성해야 하는 경우 , 그러면 데이터베이스의 엔터프라이즈 수준 기능이 필요할 수 있지만 비용도 더 많이 듭니다. HA(High Availability) 클러스터 기능 각 데이터베이스 플랫폼의 클러스터 기능은 다음과 같습니다. •Oracle RAC는 HA 클러스터, 로드 밸런싱 및 확장에 가장 적합합니다. •MS SQL Server는 HA Failover 기능을 제공하며, 하지만 로드 밸런싱은 없습니다. • Sybase ASE 15 클러스터는 Oracle RAC와 동일한 기능을 갖습니다. • TeraData 자체는 분산 데이터베이스 플랫폼입니다. • MySQL 클러스터는 TPC-C 성능 벤치마크가 Oracle RAC보다 높다고 주장합니다.• IBM DB2/UDB는 AIX HACMP(고가용성 클러스터 다중 처리)를 실행하는 IBM P-Series/Power 서버 및 Veritas VCS/Sun과 같은 클러스터에서 잘 실행됩니다. 고성능/낮은 대기 시간/인 메모리 데이터베이스
• Oracle은 TimesTen 인 메모리 데이터베이스를 제공합니다.
• MySQL 클러스터는 인 메모리 스토리지 엔진을 사용합니다. • Sybase는 ASE 인 메모리 데이터베이스를 제공합니다. • In 또한 RAMSAN/SSD(Solid State Drive)를 사용하여 SQL Server 데이터베이스를 설치할 수도 있습니다. 모든 데이터베이스 관련 디스크 I/O는 기존 하드 디스크 대신 SSD에서 발생하므로 디스크 I/O 대기 시간을 크게 줄일 수 있습니다. I/O 처리량 제공 및 데이터베이스의 전반적인 성능 향상 • SQLite 또는 eXtremeDB와 같은 다른 인메모리 데이터베이스가 있지만 대부분은 임베디드 시스템만 지원하거나 단일 사용자 또는 단일 연결만 지원합니다. 동시에.확장성/성능
• Oracle RAC 및 Sybase ASE 15 클러스터를 사용할 때 기존 하드웨어가 성능 요구 사항을 충족할 수 없는 경우 클러스터에 더 강력한 서버를 추가하고 점차적으로 다른 노드를 교체하면 됩니다.• SQL Server 클러스터 사용 시 Active/Passive 모드만 지원하므로 인스턴스 수준의 확장성이 없습니다. 기존 하드웨어가 요구 사항을 충족하지 못하는 경우 전체 클러스터를 교체해야 합니다. • MySQL 클러스터도 추가를 지원합니다. 노드를 모든 노드가 활성 상태인 클러스터로 이동하지만 이는 공유되지 않는 클러스터입니다. 노드가 많을수록 모든 노드 간에 데이터를 복사하는 데 필요한 데이터베이스 복사본, 스토리지 및 네트워크 트래픽이 더 많아집니다. Replication • Sybase: Sybase는 Oracle의 Data Guard 및 SQL Server의 복제 솔루션을 능가하는 최고의 복제 솔루션을 보유하고 있습니다(미러링/로그 전달/트랜잭션 복제를 사용하더라도 SQL Server의 복제는 여전히 Sybase의 복제 서버보다 훨씬 뒤떨어집니다). Sybase의 이기종 복제와 동종 복제는 Sybase가 1990년대 월스트리트에서 제외되었지만 많은 대기업에서 사용하는 주요 이유 중 하나입니다. Sybase 복제는 데이터베이스 수준(액티브/액티브 복제, SQL Server의 미러링보다 우수함), 트랜잭션 수준(SQL Server의 트랜잭션 복제와 유사), 테이블 수준, 저장 프로시저 수준, 기능 수준, MSA(다중 사이트 사용 가능)에서 수행할 수 있습니다. ) 로그 전달(복제 세계의 가난한 사람을 위한 솔루션)을 통해 구현된 미러 활성화 프로그램은 EMC/SRDF와 결합되어 계획된 운영 중단 및 계획되지 않은 운영 중단 발생 시 ZDL(데이터 손실 제로)을 진정으로 보장할 수 있습니다. • SQL Server: SQL Server 복제는 로그 전달 및 데이터베이스 미러링(액티브/패시브, R/W 또는 읽기 전용)을 통해 구현될 수 있으며 개체 수준(테이블) 세분화된 트랜잭션 복제를 지원합니다. • Oracle: Oracle의 Data Guard는 데이터베이스 복제 및 재해 복구(RMAN 사용)를 위한 최고의 솔루션 중 하나입니다. • MySQL: MySQL은 비공유 클러스터링을 제공합니다. 기본적으로 모든 활성 노드는 동기식으로 복제되며, 트랜잭션 및 개체 수준 복제도 지원됩니다.
• 스토리지 수준 솔루션: EMC의 BCV, NetApp의 Snapshot Manager, Hitachi의 Snapshot 및 Veritas의 Volume Replicator를 사용하면 디스크 블록 수준 및 볼륨 수준에서 데이터 복제가 발생할 수 있습니다.
하이브리드 시스템
일반적으로 백엔드 데이터베이스는 많은 양의 데이터를 저장하는데, 데이터를 검색(데이터 정렬, 그룹화, 요약 및 계산)할 때 성능 문제가 발생합니다. 실행 속도가 느려지면 문제가 발생합니다. 데이터 쓰기 프로세스에 영향을 미칩니다.
따라서 이러한 유형의 애플리케이션에서는 데이터베이스가 대량의 데이터를 잘 처리하고 읽기/쓰기 차단 문제도 잘 처리할 것으로 기대합니다.
• Oracle
Oracle에서는 읽기/쓰기 프로그램이 서로를 차단하지 않고 읽기 프로세스/세션/트랜잭션 전체에서 데이터가 일관되며 시스템 오버헤드가 크기 때문에 이러한 종류의 시스템에 가장 적합한 선택입니다. 메모리 잠금 및 다시 실행 로그가 발생했습니다.
• SQL Server
SQL Server 2005의 새로운 스냅샷 격리는 Oracle과 동일한 행 버전 관리 기능을 사용하지만 tempdb에서 더 많은 IO를 생성합니다.
• Sybase ASE
Sybase ASE의 읽기/쓰기 프로그램은 서로를 차단하지만 Sybase IQ는 스냅샷 버전 관리를 사용하여 이 차단 문제를 해결합니다.
• 기타 데이터베이스
차단 문제가 없는 데이터베이스도 있지만 일부는 ACID(Atomicity, Consistency, Isolation, Durability) 표준도 준수하지 않습니다.
데이터 웨어하우스
기업은 모든 기록 데이터는 물론 데이터베이스에 배치해야 한다고 생각하는 데이터를 저장/보관하기 위해 데이터 웨어하우스를 구축합니다. 일반적으로 정규화되지 않은 데이터는 여러 차원으로 데이터 웨어하우스에 들어갑니다. OLAP 및 비즈니스 인텔리전스(BI) 솔루션은 빠른 검색을 제공합니다.
데이터 웨어하우스는 새롭거나 향상된 비즈니스 전략의 백 테스트에도 사용됩니다. 또한 데이터 웨어하우스의 데이터는 선형이 아닌 기하급수적으로 증가합니다.
열 기반 관계형 데이터베이스의 장점
열 기반 관계형 데이터베이스는 본질적으로 다차원적이며 각 열이 자체 색인화(B 트리)되므로 큰 장점이 있습니다.
일반적인 열 기반 데이터베이스에는 MySQL을 기반으로 구축된 Google의 Big Table, Sybase IQ, Vertica 및 KickFire가 포함됩니다.
평균적으로 이러한 열 기반 데이터베이스는 기존 행 기반 관계형 데이터베이스(예: Oracle, SQL Server, Sybase ASE, TeraData, DB2 및 MySQL)보다 데이터 검색 속도가 60~100배 빠르지만, 속도가 더 느립니다. 행 수준에서 데이터를 업데이트할 때 현재까지 이 분야에서는 Sybase IQ가 선두인 것으로 보입니다. 세계 최대(1P 바이트 이상)의 데이터 웨어하우스에서는 Sybase IQ를 사용한다고 합니다.
일반적으로 행 기반 관계형 데이터(SQL Server, Oracle, Informix, DB2/UDB, MySQL, Sybase ASE 등)는 OLTP 애플리케이션에 적합한 반면, 열 기반 관계형 데이터베이스(Sybase IQ, KickFire, Vertica, 등)이 OLAP/DSS 및 데이터 웨어하우스 애플리케이션에 더 적합합니다.
참고: OneTick, kdb+ 및 Vhayu와 같은 시계열 데이터베이스는 관계형 데이터베이스로 간주될 수 없습니다. 해당 저장 구조는 파일을 기반으로 하며, 기본적으로 데이터의 각 열은 별도의 파일에 저장됩니다. 열 기반 데이터베이스를 백테스트에도 사용할 수 있습니다. 또한 행 기반 데이터 웨어하우스(큐브)의 데이터는 기하급수적으로 증가하지만 열 기반 데이터 웨어하우스의 데이터는 선형적으로 증가합니다.
전통적으로 Oracle은 데이터 웨어하우스 분야의 선두주자였지만 이제는 Google이 사용하는 Sybase IQ, Vertica 및 KickFire 등의 열 기반 관계형 데이터베이스 앞에서 우위를 잃었습니다. 또한 열 기반 데이터베이스입니다.
위 내용은 데이터베이스를 선택하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!