맨위로가기

웹스케일SQL

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

웹스케일SQL은 MySQL 5.6 코드베이스를 기반으로 개발된 프로젝트로, 페이스북, 구글, 링크드인, 트위터, 알리바바가 공동으로 참여했으나, 2016년 12월에 여러 회사의 요구 사항 차이로 인해 기여가 중단되었다. 주요 기능으로는 자동화된 테스트 프레임워크, 성능 테스트 제품군, 성능 향상, 대규모 배포 관련 기능 등이 있으며, 소스 코드 형태로만 배포되고 GNU 일반 공중 사용 허가서 버전 2에 따라 사용 가능하다.

더 읽어볼만한 페이지

  • MySQL - MariaDB
    MariaDB는 MySQL 창립자가 MySQL의 오리지널 코드를 기반으로 개발한 오픈 소스 관계형 데이터베이스 관리 시스템으로, MySQL과의 호환성을 유지하면서 성능 향상과 독자적인 기능을 제공하며 다양한 기관 및 기업에서 사용된다.
  • MySQL - MyISAM
    MyISAM은 MySQL 데이터베이스 시스템에서 사용되던 스토리지 엔진으로, 데이터 파일, 인덱스 파일, 테이블 정의 파일로 구성되어 읽기 작업에 최적화되었으나 트랜잭션과 외래 키를 지원하지 않아 데이터 무결성 유지가 어렵고, 현재는 InnoDB 엔진으로 대체되었지만 MariaDB에서는 개선 작업이 지속되고 있다.
  • 자유 데이터베이스 관리 시스템 - PostgreSQL
    PostgreSQL은 캘리포니아 대학교 버클리 분교의 Ingres 프로젝트에서 시작되어 전 세계 개발자들의 협력을 통해 발전해온 객체 관계형 데이터베이스 관리 시스템(ORDBMS)이다.
  • 자유 데이터베이스 관리 시스템 - SQLite
    SQLite는 D. 리처드 히프가 설계한 서버리스 구조의 임베디드 SQL 데이터베이스 엔진으로, 별도의 DBMS 없이 프로그램에 통합되어 작동하며 전체 데이터베이스를 단일 파일로 저장하는 특징이 있고, 다양한 운영체제와 환경에서 널리 사용된다.
  • 2014년 소프트웨어 - 아마존 알렉사
    아마존 알렉사는 아마존이 개발한 인공지능 음성 비서로, 스마트홈 기기 제어, 음악 스트리밍, 정보 검색 등의 기능을 제공하지만 개인 정보 보호 논란도 있으며, 아마존은 기능 확장과 수익성 개선을 위해 노력 중이다.
  • 2014년 소프트웨어 - 안드로이드 TV
    안드로이드 TV는 구글 TV의 후속으로 발표된 운영체제로, 구글 플레이 스토어를 통해 앱을 설치하고 음성 검색, 콘텐츠 추천 등의 기능을 제공하며, 스마트 TV, 셋톱박스 등 다양한 기기에서 사용된다.
웹스케일SQL - [IT 관련 정보]에 관한 문서
일반 정보
WebScaleSQL 로고
WebScaleSQL 로고
명칭WebScaleSQL
종류RDBMS
라이선스GNU 일반 공중 사용 허가서 버전 2
웹사이트WebScaleSQL 공식 웹사이트
개발
개발자페이스북, 구글, 링크트인, 트위터, 알리바바 그룹
프로그래밍 언어C, C++, 펄, 배시
지원 환경
운영 체제리눅스
플랫폼x86-64
기타
상태중단됨 (마지막 커밋: 2015년 12월 28일)

2. 역사

MySQL을 수많은 서버에서 실행하여 테라바이트, 페타바이트 규모의 방대한 데이터를 처리하는 과정에서 여러 어려움이 발생했다. 특히 특정 맞춤형 MySQL 기능을 구현하거나 기능적 변경을 도입해야 할 필요성이 제기되었다. 여러 회사들이 각자의 프로덕션 환경에서 비슷하거나 동일한 문제에 직면하면서, 유사한 문제에 대한 다양한 해결책들이 나타나게 되었다.[3][6][7]

WebScaleSQL은 이러한 대규모 배포 환경에 특화된 새로운 기능으로 MySQL을 확장하기 위한 중앙 집중식 개발 구조를 제공하고자 했다.

2. 1. 프로젝트 시작 (2014년)

서버에서 MySQL을 실행하여 방대한 양의 데이터를 처리하는 것은 여러 회사들이 프로덕션 환경에서 비슷한 문제에 직면하게 만들었다.[3][6][7] 이러한 문제를 해결하기 위해 페이스북, 구글, 링크드인, 트위터는 2014년 3월 27일에 WebScaleSQL이라는 공동 프로젝트를 발표했다. (알리바바 그룹은 2015년 1월에 합류).[8] 이 프로젝트는 대규모 복제 데이터베이스를 서버 팜에서 실행하는 것과 같이 대규모 배포에 특정한 새로운 기능으로 MySQL을 확장하는 것을 목표로 했다.[8]

WebScaleSQL은 각 회사가 자체 MySQL 분기를 유지하는 데 쏟는 노력을 줄이고 더 많은 개발자를 모으기 위해 시작되었다.[1][4][9]

WebScaleSQL은 2013년 3월 당시 MySQL의 최신 프로덕션 준비 커뮤니티 릴리스인 버전 5.6의 분기로 생성되었다. 새로운 MySQL 커뮤니티 릴리스를 밀접하게 따르는 것을 목표로 했기 때문에 MySQL의 소프트웨어 포크가 되는 대신 분기 방식을 선택했다. 네 개의 창립 회사는 이미 MySQL 5.6에 존재하는 기능이 대규모 배포에 적합하며, 동일한 종류의 추가 기능이 MySQL 5.7에 계획되어 있다고 판단하여 MySQL 프로덕션 준비 커뮤니티 릴리스를 WebScaleSQL의 업스트림으로 선택했다.[1][3][4]

2. 2. 기여 중단 (2016년)

2016년 12월, 웹스케일SQL 웹사이트는 페이스북, 구글, 링크드인, 트위터, 알리바바 등 프로젝트 협업에 참여했던 회사들이 더 이상 기여하지 않을 것이라고 발표했다. 이는 각 회사들의 요구사항이 서로 달랐기 때문이다.

3. 주요 기능

WebScaleSQL은 대규모 복제 데이터베이스를 서버 팜에서 실행하는 환경에 특화된 기능을 제공하기 위해 개발되었다.[3][6][7] 주요 기능은 다음과 같다:



또한, 다음과 같은 기능들이 계획되었다:[1][9]

  • 비동기 I/O MySQL 클라이언트를 통해 데이터베이스 연결 설정, 데이터베이스 쿼리 전송 및 결과 수신 중 클라이언트 측 대기 시간 제거
  • 다양한 테이블, 사용자 및 데이터 압축 통계 가용성
  • 내부 압축 메커니즘 변경
  • 전체 테이블 스캔 성능을 향상시키는 논리적 리드-어헤드 메커니즘 추가


WebScaleSQL은 MySQL 5.6 코드베이스에 변경 사항 및 기능을 추가하는 방식으로 개발되었으며, 이는 페이스북, 구글, 링크드인, 트위터 엔지니어들이 주도하고 커뮤니티 기여는 동료 검토를 통해 이루어졌다.[10]

3. 1. 성능 향상

웹스케일SQL이 MySQL 5.6 코드베이스에 처음 도입한 변경 사항과 기능 추가는 4개의 창립 회사에서 고용된 엔지니어들이 주도했지만, 이 프로젝트는 동료 검토를 거친 커뮤니티 기여도 받아들였습니다.[10]

  • 버퍼 풀 플러싱, 특정 유형의 SQL 쿼리 실행, NUMA 아키텍처 지원 등 다양한 영역에서 성능이 향상되었습니다.[4][9][11][12][13]
  • MySQL 5.6의 글로벌 트랜잭션 식별자(GTID) 기능에 대한 성능 및 안정성이 향상되었습니다.[14]

3. 2. 대규모 배포 관련 기능

방대한 양의 데이터를 다루는 수많은 서버에서 MySQL을 실행하는 것은 테라바이트페타바이트 규모의 데이터를 처리하며, 특정 맞춤형 MySQL 기능을 구현하거나 MySQL에 기능적 변경을 도입해야 할 필요가 발생하는 일련의 어려움을 야기한다.[3][6][7] WebScaleSQL은 대규모 복제 데이터베이스를 서버 팜에서 실행하는 것과 같이 대규모 배포에 특정한 새로운 기능으로 MySQL을 확장하기 위한 중앙 집중식 개발 구조를 제공하는 것을 목표로 한다.

WebScaleSQL은 2013년 3월 현재 MySQL의 최신 프로덕션 준비 커뮤니티 릴리스인 버전 5.6의 분기로 생성되었다. 이 프로젝트는 새로운 MySQL 커뮤니티 릴리스를 밀접하게 따르는 것을 목표로 했기 때문에 MySQL의 소프트웨어 포크가 되는 대신 분기 경로가 선택되었다. WebScaleSQL의 업스트림으로 사용 가능한 MySQL 포크 중 일부를 선택하는 대신 MySQL 프로덕션 준비 커뮤니티 릴리스를 선택한 것은 네 개의 창립 회사 간의 합의 결과였으며, 이들은 이미 MySQL 5.6에 존재하는 기능이 대규모 배포에 적합하며, 동일한 종류의 추가 기능이 MySQL 5.7에 계획되어 있다고 결론을 내렸다.[1][3][4]

WebScaleSQL영어이 MySQL 5.6 코드베이스에 처음 도입한 변경 사항과 기능 추가는 4개의 창립 회사에서 고용된 엔지니어들이 주도했지만, 이 프로젝트는 동료 검토를 거친 커뮤니티 기여도 받아들였다.[10] 2014년 9월 15일 기준으로, 사용 가능한 새로운 기능과 변경 사항은 다음과 같다:[4][9][11][12][13]

  • 제안된 모든 변경 사항을 자동화하여 테스트하는 소프트웨어 프레임워크
  • 맞춤형 데이터베이스 성능 테스트 제품군
  • MySQL 커뮤니티 릴리스에서 제공하는 자동화된 테스트에 대한 다양한 변경 사항
  • 버퍼 풀 플러싱, 특정 유형의 SQL 쿼리 실행, NUMA 아키텍처 지원 등 다양한 영역에서의 성능 향상
  • 서브초 클라이언트 타임아웃을 지정하는 기능과 같이 대규모 배포와 관련된 변경 사항
  • MySQL 5.6의 글로벌 트랜잭션 식별자(GTID)[14] 기능에 대한 성능 및 안정성 향상
  • 특권 데이터베이스 계정의 경우에도 데이터 수정 작업을 비활성화하는 MySQL 서버의 소위 `super_read_only` 작동 모드


2014년 3월 28일 기준으로 계획된 새로운 기능과 변경 사항은 다음과 같다:[1][9]

  • 비동기 I/O MySQL 클라이언트는 데이터베이스 연결을 설정하고, 데이터베이스 쿼리를 보내고, 결과를 받는 동안 클라이언트 측 대기 시간을 제거한다.
  • 다양한 테이블, 사용자 및 데이터 압축 통계의 가용성
  • 내부 압축 메커니즘 변경
  • 전체 테이블 스캔에 대한 상당한 성능 향상을 제공하는 논리적 리드-어헤드 메커니즘 추가

3. 3. 기타

웹스케일SQL이 MySQL 5.6 코드베이스에 처음 도입한 변경 사항과 기능 추가는 4개의 창립 회사에서 고용된 엔지니어들이 주도했지만, 이 프로젝트는 동료 검토를 거친 커뮤니티 기여도 받아들였다.[10] 사용 가능한 새로운 기능과 변경 사항은 다음과 같다.

  • 제안된 모든 변경 사항을 자동화하여 테스트하는 소프트웨어 프레임워크
  • 맞춤형 데이터베이스 성능 테스트 제품군
  • MySQL 커뮤니티 릴리스에서 제공하는 자동화된 테스트에 대한 다양한 변경 사항
  • 버퍼 풀 플러싱, 특정 유형의 SQL 쿼리 실행, NUMA 아키텍처 지원 등 다양한 영역에서의 성능 향상
  • 서브초 클라이언트 타임아웃을 지정하는 기능과 같이 대규모 배포와 관련된 변경 사항
  • MySQL 5.6의 글로벌 트랜잭션 식별자(GTID)[14] 기능에 대한 성능 및 안정성 향상
  • 특권 데이터베이스 계정의 경우에도 데이터 수정 작업을 비활성화하는 MySQL 서버의 `super_read_only` 작동 모드


계획된 새로운 기능과 변경 사항은 다음과 같다.

  • 비동기 I/O MySQL 클라이언트는 데이터베이스 연결을 설정하고, 데이터베이스 쿼리를 보내고, 결과를 받는 동안 클라이언트 측 대기 시간을 제거한다.
  • 다양한 테이블, 사용자 및 데이터 압축 통계의 가용성
  • 내부 압축 메커니즘 변경
  • 전체 테이블 스캔에 대한 상당한 성능 향상을 제공하는 논리적 리드-어헤드 메커니즘 추가

4. 배포

웹스케일SQL은 소스 코드 형태로만 배포되며, 공식 바이너리는 제공되지 않는다. 2014년 3월 27일 기준으로, 소스 코드 컴파일 및 웹스케일SQL 실행은 x86-64 리눅스 호스트에서만 지원되며, C99C++11 언어 표준을 지원하는 툴체인이 필요하다.[4]

소스 코드는 GitHub에서 호스팅되며 GNU 일반 공중 사용 허가서 버전 2 (GPL v2)에 따라 사용할 수 있다.[3][4]

참조

[1] 뉴스 WebScaleSQL: MySQL for Facebook-sized databases https://www.zdnet.co[...] ZDNet 2013-03-28
[2] 간행물 Google and Facebook Team Up to Modernize Old-School Databases https://www.wired.co[...] 2013-03-27
[3] 웹사이트 Forkin' 'L! Facebook, Google and friends create WebScaleSQL from MySQL 5.6 https://www.theregis[...] 2013-03-27
[4] 웹사이트 Frequently Asked Questions http://webscalesql.o[...] 2014-03-27
[5] 웹사이트 WebScaleSQL Moving Forward http://webscalesql.o[...] 2016-12-29
[6] 웹사이트 Patches for MySQL 5 – MySQL tools released by Google http://code.google.c[...] 2011-06-24
[7] 웹사이트 facebook/mysql-5.1 https://github.com/f[...] 2013-06
[8] 웹사이트 Please welcome Alibaba to WebScaleSQL! http://webscalesql.o[...] 2015-01-15
[9] 웹사이트 Facebook Debuts Web-Scale Variant of MySQL http://www.informati[...] 2014-03-27
[10] 웹사이트 Is Your Change Appropriate? http://webscalesql.o[...] 2014-03-27
[11] 웹사이트 Facebook & Others Announce WebScaleSQL https://www.phoronix[...] Phoronix 2014-03-28
[12] 웹사이트 WebScaleSQL: A collaboration to build upon the MySQL upstream https://code.faceboo[...] 2014-03-27
[13] 웹사이트 Facebook Announces WebScaleSQL Upgrade For MySQL http://www.informati[...] 2014-09-15
[14] 웹사이트 MySQL 5.6 Reference Manual, Section 17.1.3 Replication with Global Transaction Identifiers https://dev.mysql.co[...]
[15] 웹인용 WebScaleSQL commits history https://github.com/w[...] 2016-01-22
[16] 웹인용 WebScaleSQL: MySQL for Facebook-sized databases http://www.zdnet.com[...] 지디넷 2013-03-28
[17] 웹인용 Google and Facebook Team Up to Modernize Old-School Databases https://www.wired.co[...] Wired 2013-03-27
[18] 웹인용 Forkin' 'L! Facebook, Google and friends create WebScaleSQL from MySQL 5.6 https://www.theregis[...] 더 레지스터 2013-03-27
[19] 웹인용 Frequently Asked Questions http://webscalesql.o[...] 2014-03-27
[20] 웹인용 WebScaleSQL Moving Forward http://webscalesql.o[...] 2016-12-29



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com