Microsoft 및 다른 곳의 메모리 내 데이터베이스

  • Aug 30, 2023

Microsoft의 한 기술 연구원은 우리가 인메모리 데이터베이스 전환점을 향해 가고 있다고 말합니다. 이것이 빅데이터에 무엇을 의미하나요?

wp000092.jpg

어제 Microsoft의 SQL Server 팀 기술 연구원인 Dave Campbell은 다음과 같이 말했습니다. SQL Server 팀 블로그에 게시됨 인메모리 데이터베이스 기술에 관한 것입니다. 여기 ZDNet의 "Microsoft에 관한 모든 것" 블로거인 Mary Jo Foley는 다음과 같은 글에서 Campbell의 생각에 대한 일부 분석을 제공했습니다. 그녀만의 포스팅. 나는 두 가지를 모두 읽고 이 이야기에 중요한 빅 데이터 측면이 있다는 것을 깨달았습니다.

간단히 말해서

Campbell은 자신의 게시물에서 인메모리가 곧 전환점에 도달할 것이며 그 주장을 입증되지 않은 상태로 두는 대신 그 이유에 대해 정말 유용한 설명을 제공했다고 말했습니다.

Campbell은 데이터베이스와 컴퓨팅 공간에 흥미로운 융합이 있었다고 지적합니다.

  • 거대한 발전 트랜지스터 밀도(따라서 메모리 용량 및 멀티 코어 편재성)
  • 아직 초월하지 못한 제한 디스크 탐색 시간(및 일반적인 액세스 대기 시간)

이러한 요소들의 조합은 데이터베이스 산업을 인메모리 기술로 이끌고 있으며 경우에 따라 추진하고 있습니다. Campbell은 CPU에 더 가깝게 유지하고 전기 기계식 하드 디스크 드라이브에서 무작위로 가져오는 것을 방지하는 것이 현재 우선순위라고 말합니다. 이는 전체 데이터베이스 또는 그 중 거대한 덩어리를 메모리로 가져와 프로세서가 신속하게 처리할 수 있음을 의미합니다.

압축 및 컬럼 저장소

압축은 이것의 큰 부분을 차지하며 비즈니스 인텔리전스 세계에서는 컬럼 저장소도 마찬가지입니다. 열 저장소는 행(레코드)의 모든 값을 유지하는 대신 열(필드)의 모든 값을 서로 옆에 유지합니다. BI 세계에서는 이를 통해 빠른 집계(집계하는 모든 값이 일반적으로 서로 바로 옆에 있기 때문에)와 높은 압축률이 가능합니다.

Microsoft의 xVelocity 기술(아주 최근까지 "VertiPaq"이라는 브랜드)은 인메모리 컬럼 저장소 기술을 사용합니다. 이 기술은 몇 년 전 Excel 및 SharePoint용 셀프 서비스 BI 추가 기능인 PowerPivot의 엔진으로 나타났습니다. SQL Server 2012가 출시되면서 이와 동일한 엔진이 Microsoft의 전체 SQL Server 분석 내에 구현되었습니다. 서비스 구성 요소이며 SQL Server 관계형 데이터베이스에서 특수한 Columnstore 인덱스 유형으로 사용하도록 조정되었습니다. 잘.

BD 앵글

이것이 빅데이터에 어떤 영향을 미치나요? 몇 가지 방법을 생각해 볼 수 있습니다.

  1. 여기 몇 개의 게시물에서 말했듯이 MPP(대규모 병렬 처리) 데이터 웨어하우스 어플라이언스는 ~이다 빅데이터 제품. 그 중 일부는 컬럼형 인메모리 기술을 사용합니다. Campbell은 심지어 Columnstore 인덱스가 마이크로소프트의 MPP 제품 곧. 따라서 MPP는 이미 메모리에 들어가기 시작했습니다.
    • 또한 읽어보세요: MapReduce와 MPP: 빅데이터 동전의 양면?
  2. Hadoop에 연결할 수 있고 해당 데이터에 대한 분석 및 데이터 시각화 서비스를 제공할 수 있는 일부 도구는 인메모리 기술도 사용할 수 있습니다. 태블로 이를 수행하는 제품의 한 예입니다.
  3. Hadoop과 함께 사용되는 데이터베이스 H베이스, 카산드라 그리고 하이퍼테이블, NoSQL 데이터베이스의 "와이드 컬럼 저장소" 범주에 속합니다. NoSQL 와이드 컬럼 저장소와 BI 컬럼 저장소 데이터베이스는 동일하지 않지만 기술은 서로 관련되어 있습니다. 데이터 압축률이 높기 때문에 HBase 및 기타 넓은 열 저장소에 대한 특정 인메모리 잠재력이 생성됩니다.

Hadoop을 메모리에 유지

쿼리 처리에 대한 Hadoop의 MapReduce 접근 방식은 병렬 계산을 통해 디스크 대기 시간을 어느 정도 해결합니다. 하지만 이것은 최적화에 적합한 것 같습니다. Hadoop 클러스터의 노드 내에서 멀티 코어 처리를 더 잘 활용하는 것이 최적화 방법 중 하나입니다. 최근 포스팅에서도 그 내용을 살펴봤습니다.

  • 또한 읽어보세요: Hadoop 최적화를 널리 활용하기

아마도 디스크 기반 처리 대신 인메모리 기술을 사용하는 것이 Hadoop을 최적화하는 또 다른 방법일 것입니다. 아마도 접근 방식을 결합할 수도 있습니다. Campbell은 자신의 게시물에서 인메모리 기술의 낮은 대기 시간으로 인해 멀티 코어를 더 잘 활용할 수 있다고 지적합니다.

Campbell은 또한 인메모리가 곧 트랜잭션 데이터베이스와 워크로드에 적용될 것이라고 말했습니다. 깔끔하네요, 보고 싶네요. 하지만 저는 인메모리가 어떻게 빅 데이터 워크로드를 처리할 수 있는지 알아보는 데에도 관심이 있습니다.

아마도 HDFS(Hadoop 분산 파일 시스템)를 사용하면 디스크 기반 스토리지를 메모리 내 스토리지로 대체할 수 있을 것입니다. 또는 RAM(Random Access Memory)과 동등한 성능을 갖도록 특별히 최적화된 솔리드 스테이트 디스크가 구축될 수도 있습니다. 그런 다음 이러한 디스크를 Hadoop 클러스터의 노드에 배포할 수 있습니다.

어떤 일이 있어도 MapReduce는 강력하기는 하지만 수확을 위해 낮은 매달린 열매를 남깁니다. 인메모리 기술의 구현은 그러한 성과 중 하나일 수 있습니다. 그리고 Microsoft는 Hadoop을 채택했기 때문에 이를 구현하기 위해 노력할 것입니다.

부록

인메모리 기술을 사용하지만 Hadoop을 사용하지 않는 빅 데이터에 대한 접근 방식은 다음을 참조하세요. 저스트원DB. 나는 그들에 대해 많은 실사를 하지 않았지만 그들의 CTO인 Duncan Pauly와 제품에 대해 이야기를 나눴습니다. 그와 회사는 매우 똑똑해 보이며 오늘날의 데이터베이스와 데이터베이스가 어떻게 변경되어야 하는지에 대해 상당히 획기적인 아이디어를 가지고 있습니다.