IT박스

차세대 데이터베이스

itboxs 2021. 1. 10. 16:59
반응형

차세대 데이터베이스


저는 기존의 관계형 데이터베이스 ( PostgreSQL 사용 )를 배우고 있으며 몇 가지 새로운 유형의 데이터베이스를 발견했습니다. CouchDB를 , 이슬비 , 그리고 Scalaris는 몇 이름을 지정, 처리하는 다음 데이터베이스 기술이 될 것입니다 무엇?


나는 차세대 SQL이 아닌 차세대 데이터베이스 라고 말할 것 입니다.

SQL은 관계형 데이터베이스를 쿼리하고 조작하기위한 언어입니다. SQL은 국제 표준에 의해 지정됩니다. 표준이 개정되는 동안 항상 관계형 데이터베이스 패러다임 내에서 작동하는 것 같습니다.

현재 주목 받고있는 몇 가지 새로운 데이터 저장 기술은 다음과 같습니다.

  • CouchDB 는 비 관계형 데이터베이스입니다. 그들은 그것을 문서 지향 데이터베이스라고 부릅니다.
  • Amazon SimpleDB 는 웹 서비스를 통해 분산 방식으로 액세스되는 비 관계형 데이터베이스이기도합니다. Amazon에는 또한일부 S3 서비스를 지원하는 Dynamo 라는 분산 키-값 스토어가있습니다.
  • Dynomite Kai 는 Amazon Dynamo에서 영감을받은 오픈 소스 솔루션입니다.
  • BigTable 은 Google에서 사용하는 독점 데이터 저장소 솔루션이며 Google 파일 시스템 기술을 사용하여 구현되었습니다. Google의 MapReduce 프레임 워크는 BigTable을 사용합니다.
  • Hadoop 은 Google의 MapReduce에서 영감을 얻은 오픈 소스 기술이며 매우 큰 규모의 데이터 저장소 작업을 배포하기 위해 유사한 요구를 충족합니다.
  • Scalaris 는 분산 트랜잭션 키 / 값 저장소입니다. 또한 관계형이 아니며 SQL을 사용하지 않습니다. 독일 베를린에있는 Zuse Institute의 연구 프로젝트입니다.
  • RDF 는 의미 론적 데이터를 저장하기위한 표준으로, 데이터와 메타 데이터는 상호 교환이 가능합니다. 표면적으로 SQL과 유사하지만 실제로는 완전히 다른 자체 쿼리 언어 SPARQL이 있습니다.
  • Vertica 는 분산 (그리드) 아키텍처 용으로 설계된 확장 성이 뛰어난 컬럼 지향 분석 데이터베이스입니다. 관계형이며 SQL을 준수한다고 주장합니다. Amazon의 Elastic Compute Cloud를 통해 사용할 수 있습니다.
  • Greenplum 은 MapReduce와 SQL을 모두 구현하는 대규모 데이터웨어 하우징 DBMS입니다.
  • XML 은 DBMS가 아니라 교환 형식입니다. 그러나 일부 DBMS 제품은 XML 형식의 데이터로 작동합니다.
  • ODBMS 또는 객체 데이터베이스는 복잡한 데이터를 관리하기위한 것입니다. 주류에서 지배적 인 ODBMS 제품은없는 것 같습니다. 아마도 표준화 부족 때문일 것입니다. 표준 SQL은 점차적으로 일부 OO 기능 (예 : 확장 가능한 데이터 유형 및 테이블)을 얻고 있습니다.
  • Drizzle 은 MySQL에서 많은 코드를 가져 오는 관계형 데이터베이스입니다. 확장 가능한 "클라우드 컴퓨팅"시스템 아키텍처에서 데이터를 관리하도록 설계된 다양한 아키텍처 변경 사항이 포함됩니다. 아마도 MySQL의 일부 향상과 함께 표준 SQL을 계속 사용할 것입니다.
  • Cassandra 는 Amazon Dynamo의 작성자 중 한 명이 Facebook에서 개발하고 Apache 프로젝트에 기여한 확장 성이 뛰어나고 최종적으로 일관된 분산 형 구조화 된 키-값 저장소입니다.
  • Project Voldemort 는 비 관계형 분산 키-값 저장 시스템입니다. LinkedIn.com에서 사용됩니다.
  • 버클리 DB 도 언급 할 가치가 있습니다. 1990 년대 초로 거슬러 올라 가기 때문에 "차세대"가 아닙니다. 다양한 애플리케이션에 쉽게 삽입 할 수있는 인기있는 키-값 저장소입니다. 이 기술은 현재 Oracle Corp.에서 소유하고 있습니다.

Richard Jones의 멋진 기사 " Anti-RDBMS : 분산 키-값 저장소 목록 "도 참조하십시오 . 그는 이러한 기술 중 일부를 자세히 설명합니다.

관계형 데이터베이스에는 확실히 약점이 있습니다. 사람들은 처음 도입 된 이후로 모든 데이터 모델링 요구 사항을 처리하지 않는다고 주장 해 왔습니다.

해마다 연구원들은 관계형 모델에 맞지 않는 데이터 관계를 처리하기위한 요구 사항 또는 데이터 처리를 수행해야하는 대규모 볼륨 또는 속도 요구 사항을 충족하기 위해 데이터를 관리하는 새로운 방법을 제시합니다. 중앙 데이터베이스 서버 대신 분산 된 서버 모음에서.

이러한 고급 기술이 설계된 특수 문제를 해결하는 데 큰 역할을하지만 관계형 데이터베이스는 여전히 대부분의 비즈니스 요구에 적합한 범용 솔루션입니다. SQL은 사라지지 않습니다.


비 관계형 데이터베이스의 혁신과 관계형 대 비 관계형 데이터베이스의 데이터 모델링에 대한 기사를 php | Architect 매거진에 썼습니다. http://www.phparch.com/magazine/2010-2/september/


지금까지 답변에 그래프 데이터베이스없습니다 . 그래프 또는 객체 네트워크는 프로그래밍에서 일반적이며 데이터베이스에서도 유용 할 수 있습니다. 반 구조화되고 상호 연결된 정보를 효율적으로 처리 할 수 ​​있습니다. 그래프 데이터베이스가 많은 관심을 받고있는 영역 중에는 시맨틱 웹과 생물 정보학이 있습니다. RDF가 언급되었으며 실제로 그래프를 나타내는 언어입니다. 다음은 그래프 데이터베이스 영역에서 일어나는 일에 대한 몇 가지 포인터입니다.

저는 Java로 작성되었지만 Python, Ruby 및 Scala에 대한 바인딩도 있는 Neo4j 프로젝트의 일부입니다 . 어떤 사람들은 Clojure 또는 Groovy / Grails와 함께 사용합니다. 진화 하는 GUI 도구 도 있습니다 .


이것에 대해 대답하기에 가장 좋은 곳은 아니지만 Steve Yen이 만든 noSQL 세계의 분류를 공유하고 싶습니다 ( http://de.slideshare.net/northscale/nosqloakland-200911021 에서 찾아보십시오 ).

  1. 키-값-캐시

    • memcached
    • repcached
    • 통일
    • 
무한
    • 극한 규모
    • 
jboss 캐시
    • 속도
    • 테라 코카

  2. 키-값 저장소

    • 
키 스페이스
    • 
fl are
    • 스키마없는
    • 
RAMCloud

  3. 최종적으로 일관된 키-값 저장소

    • 발전기
    • 
Voldemort
    • 
다이노 마이트
    • 
서브 레코드
    • 
MongoDb
    • 
Dovetaildb
  4. ordered‐key‐value‐store

    • tokyo
tyrant
    • lightcloud
    • 
NMDB
    • luxio
    • 
memcachedb
    • 
actord

  5. data‐structures server

    • redis

  6. tuple‐store

    • gigaspaces
    • 
coord
    • 
apache
river
  7. object database

    • ZopeDB
    • db4o
    • 
Shoal

  8. document store

    • CouchDB
    • Mongo
    • 
Jackrabbit
    • 
XML
Databases
    • 
ThruDB
    • 
CloudKit
    • 
Perservere
    • 
Riak
Basho
    • 
Scalaris

  9. wide columnar store

    • BigTable
    • Hbase
    • Cassandra
    • Hypertable
    • KAI
    • 
OpenNep

For a look into what academic research is being done in the area of next gen databases take a look at this: http://www.thethirdmanifesto.com/

In regard to the SQL language as a proper implementation of the relational model, I quote from wikipedia, "SQL, initially pushed as the standard language for relational databases, deviates from the relational model in several places. The current ISO SQL standard doesn't mention the relational model or use relational terms or concepts. However, it is possible to create a database conforming to the relational model using SQL if one does not use certain SQL features."

http://en.wikipedia.org/wiki/Relational_model (Referenced in the section "SQL and the relational model" on March 28, 2010


Not to be pedantic, but I would like to point out that at least CouchDB isn't SQL-based. And I would hope that the next-gen SQL would make SQL a lot less... fugly and non-intuitive.


There are special databases for XML like MarkLogic and Berkeley XMLDB. They can index xml-docs and one can query them with XQuery. I expect JSON databases, maybe they already exist. Did some googling but couldn't find one.


SQL has been around since the early 1970s so I don't think that it's going to go away any time soon.

Maybe the 'new(-ish) sql' will oql (see http://en.wikipedia.org/wiki/ODBMS)


I heard also about NimbusDB by Jim Starkey

Jim Starkey is the man who "create" Interbase

who work on Vulcan (a Firebird fork)

and who was at the begining of Falcon for MySQL

ReferenceURL : https://stackoverflow.com/questions/282783/the-next-gen-databases

반응형