신탁

Oracle은 가장 인기 있는 데이터베이스는 아니지만 가장 유명한 데이터베이스입니다. 가장 인기가 있다고 주장 할 수 있지만. 계산 방법을 참조하십시오 . 회사 수만 보면 MySQL이 가장 인기 있는 데이터베이스입니다. 꽤 훌륭하고 완전 무료입니다 :)

그러나 다르게 생각할 수도 있습니다. Oracle을 사용하는 고객이 100만 명인 회사가 1개 있고 MySQL을 사용하는 고객이 100명인 회사가 5개 있는 경우 Oracle은 고객이 100만 명이고 MySQL은 직원이 500명에 불과합니다.

일반적으로 돈이 있는 대기업을 대상으로 어떤 DBMS를 선택하는지 살펴보면 전 세계 기업의 약 1/3이 Oracle을 사용하고 있습니다. 이 같은.

프로그래머로서 미래에는 MySQL보다 Oracle에서 작업할 가능성이 더 큽니다. 지난 20년 동안 DBMS의 인기가 어떻게 변했는지를 보여주는 훌륭한 비디오가 인터넷에 있습니다.

MySQL

모든 DBMS 중에서 두 번째로 인기 있는 것은 MySQL입니다. 그리고 모든 무료 DBMS 중에서 가장 인기가 높습니다. 이제 우리가 그녀의 예에서 SQL을 배우는 이유를 이해할 것입니다. 과대 광고는 과대 광고이며 비즈니스는 인프라 선택에 있어 상당히 보수적입니다.

원칙적으로 우리는 이미 MySQL에 대해 이야기했습니다. 일단 썬이 인수한 다음에는 오라클이 인수했습니다 . 음, 선의 기업이라고 부르는 것은 매우 어렵습니다.

Sun 인수 후 지속적으로 Java를 지불하려고 노력하는 것은 바로 그들입니다.

예, Sun은 Oracle이 인수하기 전에 Java와 MySQL을 모두 소유했습니다.

이 사실과 오라클의 명성은 MySQL 프로젝트를 포크하고 MariaDB라고 부르기로 결정한 MySQL 개발자들을 약간 겁먹게 했습니다.

MariaDB는 실제로 특허 및 라이선스의 뉘앙스를 피할 수 있는 몇 가지 구현 문제가 있는 MySQL의 복제품 입니다.

그러나 Oracle도 바보가 아닙니다. 고객과 개발자가 MariaDB로 유출되는 것을 방지하기 위해 Oracle은 계속해서 무료로 제공되는 MySQL의 개발 및 개발에 자금을 지원하고 있습니다.

그리고 두 개의 의자에 앉기 위해 유료 MySQL Enterprise가 기업 고객을 위해 출시되었습니다 . MySQL Community Edition 과 다르지 않지만 라이선스가 비즈니스에 더 적합합니다.

PostgreSQL

또 다른 흥미로운 DBMS는 PostgreSQL("postgres cue"로 발음)입니다.

이것은 최근 몇 년 동안 매우 빠르게 인기를 얻고 있는 또 다른 무료 DBMS입니다. 여전히 MySQL과는 거리가 멀지만.

PostgreSQL은 주로 분산 작업에 중점을 둡니다. 강점은 다음과 같습니다.

  • 고성능의 안정적인 트랜잭션 및 복제 메커니즘
  • 내장 프로그래밍 언어의 확장 가능한 시스템: PL SQL, PL JS, PL Python, …
  • 테이블 상속
  • 기하학적(특히 지리적) 개체를 인덱싱하는 기능
  • 인덱싱 기능과 함께 JSON 형식의 반구조화된 데이터에 대한 기본 제공 지원
  • 확장성(새로운 데이터 유형, 인덱스 유형, 프로그래밍 언어, 확장 모듈 생성, 외부 데이터 소스 연결 기능)

왜 그렇게 불리는지 아세요? 방법은 다음과 같습니다…

약 50년 전인 70년대 초반에 버클리 대학교는 자체 관계형 DBMS를 개발하기 시작했고 이를 Ingres 라고 불렀습니다 .

80년대 초, 마이클 스톤브레이커 교수는 프로젝트를 떠나 블랙잭과 기녀로 자신의 DBMS를 작성하기로 결정했습니다. 그와 그의 학생들은 단순히 Post Ingres 라고 불렀고 나중에 Postgres 로 축약되는 자체 DBMS를 작성하기 시작했습니다 .

그리고 Postgres라는 이름은 누구에게도 의미가 없었기 때문에 SQL 접미사를 추가하기로 결정했습니다. 이것이 바로 이중 S를 잃고 PostgreSQL로 작성되기 시작한 PostgreSQL이 나온 방법입니다. 하지만 이름을 말하면 PostgresQL처럼 읽어야 합니다.

NoSQL

데이터베이스에 관심이 있다면 NoSQL 데이터베이스 에 대해 들어본 적이 있을 것입니다 . 나는 서둘러 당신을 화나게 합니다. NoSQL은 순전히 마케팅 이름 이고 SQL은 거기에 있습니다. 그는 잘린 것입니다.

어떻게 생겼나요? 1995년 브라우저에서 열린 HTML, CSS 및 JavaScript로 작성된 멋진 웹 페이지를 상상해 보십시오. 10%의 CSS 강도로 작동하며 JavaScript를 전혀 지원하지 않습니다. 그리고 이 새로운 표준은 NoHtml 이라고 합니다 .

예를 들어 테이블 간의 JOIN은 NoSQL에서 지원되지 않을 수 있으며 프로그램의 Java 코드 수준에서 이를 에뮬레이트하거나 관련 테이블의 모든 데이터를 하나의 거대한 테이블에 저장해야 합니다.

그리고 NoHtml의 경우 20년 전에 롤백된 것처럼 보인다면 NoSQL의 경우 약 40년 정도 롤백이 발생합니다.

예를 들어 Facebook이 수십억 명의 사용자 데이터를 저장하는 데 사용 하는 Cassandra NoSQL 데이터베이스를 살펴보겠습니다. 실제로 그들은 그것을 개발한 다음 OpenSource 프로젝트로 게시했습니다.

가장 흥미로운 것부터 시작하겠습니다. 모든 DBMS 코드는 Java로 작성됩니다 . C++ 코드는 아마도 더 빨리 실행될 것이지만 더 많은 버그가 있을 것입니다. 그리고 Java 코드는 유지 관리 및 개발이 더 쉽습니다.

Casandra DBMS에 대한 일반적인 요청 형식은 매우 친숙해 보입니다.

  SELECT columns  
  FROM table 
  WHERE condition
  GROUP BY columns 
  ORDER BY sorting 
  LIMIT quantity

보시다시피 SQL이 있습니다. 여기서 빠진 것이 무엇인지 아십니까? 가입 ! 하나의 테이블에서만 데이터를 선택할 수 있습니다 :)

다음은 공식 문서의 인용문입니다.

Cassandra에서는 조인을 수행할 수 없습니다 . 데이터 모델을 설계했고 조인과 같은 것이 필요한 경우 클라이언트 측에서 작업을 수행하거나 조인 결과를 나타내는 비정규화된 두 번째 테이블을 만들어야 합니다 .