2018년 4월 30일 ObjectRocket.com/blog에서 최초 게시
다중 언어 지속성은 다양한 데이터 저장 요구 사항을 처리하기 위해 다양한 데이터 저장 기술을 사용하는 것을 말합니다. 그것은 응용 프로그램을 구축하기 위해 다른 프로그래밍 언어를 사용하는 다중 언어 프로그래밍의 파생물입니다. 간단히 말해서, 하나 이상의 핵심 데이터베이스 기술을 사용하는 애플리케이션입니다.
작업에 적합한 도구를 사용하는 것도 중요하고 작업에 적합한 데이터베이스를 사용하는 것도 중요합니다. 각 데이터베이스에는 강점, 약점 및 특성이 있습니다. 하지만 말 그대로 수백 개의 데이터베이스가 있으므로 따라잡기가 어렵습니다.
데이터 저장 요구 사항 관리
Monoglot®은 한 가지 유형의 작업 부하를 사용하는 간단한 응용 프로그램에 적합했습니다. 그러나 애플리케이션은 빠르게 더 복잡해집니다.
간단한 전자 상거래 플랫폼은 다음 도구를 사용합니다.
- 장바구니에 항목을 추가하기 위한 세션 데이터
- 제품 검색을 위한 검색 엔진
- 추천 엔진, 구매 기록을 기반으로 한 향후 구매 가능성
- 지리적 위치 서비스를 위한 결제 플랫폼
다중 언어 지속성을 구현하면 다양한 스토리지 유형의 데이터로 애플리케이션에 연료를 공급할 수 있습니다. MongoDB®에서 사용자 정보를 추적하고 Redis®가 캐시를 처리하도록 하는 동안 Oracle®에서 완료된 금융 거래를 가져올 수 있습니다.
여러 언어 지속성 구현 및 옵션 고려
다중 언어 지속성 구축의 복잡성을 언급하는 많은 불만은 스토리지 솔루션이 부적절한 프로젝트에 강제로 적용하려는 시도에서 비롯됩니다. 이는 수많은 지원 프로세스와 계속 성장하는 괴물 아키텍처의 생성으로 이어집니다.
신중한 계획은 잠재적인 문제의 90%를 제거합니다. 목표를 고려하십시오. 통합 비즈니스 기능이 필요하십니까? 회사 운영의 상당 부분을 이 모델로 전환해야 합니까?
적절한 데이터 저장 기술 사용
팀에서 이전에 다중 언어 지속성 아키텍처를 만든 적이 있습니까? 이러한 유형의 모델을 설계한 경험 없이 올바른 데이터 솔루션을 적절하게 활용하는 것은 어렵습니다. 올바른 프로젝트로 시작하고 있는지 어떻게 알 수 있나요?
데이터 저장 유형
조직은 종종 다양한 데이터 소스를 사용하여 애플리케이션을 제공합니다. 몇 가지 공통 스토리지 옵션을 검토해 보겠습니다.
트랜잭션 데이터베이스 RDBMS(관계형 데이터베이스 관리 시스템)라고도 하는 이 시스템은 정보를 행과 열이 있는 테이블로 구성하여 데이터 무결성을 제공합니다. 쿼리라는 구문 문을 사용하여 데이터를 검색합니다. 많은 대규모 조직에서 Microsoft® SQL Server® 및 Oracle®과 같은 인기 있는 옵션을 많이 사용합니다. 트랜잭션 데이터베이스의 한 가지 단점은 스토리지 요구 사항이 증가함에 따라 확장하기 어려울 수 있다는 것입니다. 또한 데이터 밀도가 높아지고 액세스가 복잡해지면 검색 속도가 느려집니다.
비트랜잭션 데이터베이스 테이블 형식의 RDBMS 시스템 사용에서 전환하여 확장성을 높이고 검색 속도를 높일 수 있습니다. 또한 Elasticsearch와 같은 검색 및 분석 엔진과도 잘 어울립니다. 사람들은 종종 NoSQL이라는 용어를 사용합니다. 이러한 데이터베이스를 설명합니다.
비트랜잭션 스토리지 유형 :
비트랜잭션 스토리지 유형에는 다음 옵션이 포함됩니다.
- 키-값 :이러한 데이터베이스는 데이터 조각의 저장 위치를 가리키는 키를 사용합니다. 일부는 해시 테이블을 사용하고 Redis와 같은 일부는 빠른 액세스를 위해 메모리에 페어링을 유지합니다.
- 문서 :이들은 JSON 또는 XML과 같은 인코딩을 사용하여 구조를 허용하는 문서로 압축된 키-값 쌍으로 구성됩니다. 인기 있는 오픈 소스 버전에는 MongoDB 및 CouchDB®가 있습니다.
- 열 :RDBMS 구조에서처럼 행 대신 그룹화된 열에 데이터를 배치합니다. Apache® Cassandra 및 HBase®는 이 모델을 사용합니다.
- 그래프 :그래프 구조, 노드, 모서리 및 속성을 사용하여 데이터를 구성하고 검색합니다. Neo4j®는 인기가 높아지고 있는 예입니다.
다중 언어 지속성을 올바르게 확보한다는 것은 애플리케이션 요구 사항에 가장 적합한 데이터 옵션을 아는 것을 의미합니다.
질문
데이터 구조 질문
- 데이터에 자연스러운 구조가 있습니까? 구조화되지 않았습니까?
- 다른 데이터와 어떻게 연결되나요?
- 어떻게 배포되나요?
- 얼마나 많은 데이터를 처리하고 있습니까?
액세스 패턴 질문
- 당신의 읽기/쓰기 비율은 어떻습니까?
- 일률적입니까 아니면 무작위입니까?
- 읽기 또는 쓰기가 지원서에 더 중요합니까?
조직에 필요한 질문
- 인증이 필요합니까? 어떤 유형인가요?
- 암호화가 필요한가요?
- 백업이 필요한가요?
- 재해 현장이 필요한가요?
- 플러그인이 필요한가요?
- 어떤 수준의 모니터링이 필요합니까?
- 어떤 드라이버가 필요합니까?
- 어떤 언어를 사용해야 하나요?
- 타사 도구를 사용해야 하나요?
적절한 도움 받기
많은 기업들이 이러한 결정을 돕기 위해 다국어 아키텍처 전문가를 영입함으로써 이익을 얻을 것입니다. 그렇게 하면 지나치게 복잡한 아키텍처로 인해 추가 유지 관리 부하가 발생하는 것을 방지할 수 있습니다. 일부 인기 있는 오픈 소스 데이터베이스 공급업체는 관리 서비스를 제공합니다. 하지만 자신의 데이터 소스가 귀하의 요구 사항에 적합하지 않은 경우 귀하에게 알려줄까요?
다양한 데이터 옵션의 장단점을 이해하는 회사에 연락하여 다국어 지속성을 시작하는 것이 가장 좋습니다. Rackspace ObjectRocket은 비즈니스 요구 사항에 적용할 수 있는 다양한 데이터베이스 옵션에 대한 360도 보기를 제공합니다. 귀하의 빅 데이터 솔루션을 한 단계 업그레이드하는 데 가장 적합한 DBA와 엔지니어를 모십니다.
Rackspace DBA 서비스에 대해 자세히 알아보십시오.
피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 영업 채팅을 클릭할 수도 있습니다. 지금 채팅하고 대화를 시작하세요.
Rackspace Cloud 서비스 약관 보기