Cloud 지향하는 CockroachDB

(자동화를 지향하는 CockroachDB)


관련 자료

www.cockroachlabs.com

 

Cockroach Labs, the company building CockroachDB

 

www.cockroachlabs.com

github.com/cockroachdb/cockroach/

 

cockroachdb/cockroach

CockroachDB - the open source, cloud-native distributed SQL database. - cockroachdb/cockroach

github.com

 

 



 

자동화를 Scale-Out을 쉽게 할 수 있도록 지원하고 있다. 하지만 MongoDB와 같은 NoSql 보다는 약간 느린 경향이 있는 상태로 보여진다. 장단점을 파악해보고 필요 하면 도입을 하면 되겠다.

 

 

 

 

 

Embed document db - LiteDB vs RaptorDB


관련 자료

https://github.com/mgholam/RaptorDB-Document

 

mgholam/RaptorDB-Document

NoSql, JSON based, Document store database with compiled .net map functions and automatic hybrid bitmap indexing and LINQ query filters (now with standalone Server mode, Backup and Active Restore, ...

github.com

https://www.codeproject.com/Articles/375413/RaptorDB-The-Document-Store-2

 

RaptorDB - The Document Store

NoSql, JSON based, Document store database with compiled .net map functions and automatic hybrid bitmap indexing and LINQ query filters (now with standalone Server mode, Backup and Active Restore, Transactions, Server side queries, MonoDroid support, HQ-Br

www.codeproject.com

http://www.litedb.org/

 

LiteDB :: A .NET embedded NoSQL database

Standalone database LiteDB is serverless database delivered in a single DLL (less than 350kb) fully written in .NET C# managed code (compatible with .NET 3.5, 4.x, NETStandard 1.3 and 2.0). Install via NuGet or just copy DLL to your bin project folder.

www.litedb.org

 

 



 

 

RaptorDB

 JSON based, Document store database with compiled .net map functions and automatic hybrid bitmap indexing and LINQ query filters

 

 

LiteDB

 JSON based, Document store database with compiled .net map functions and automatic hybrid bitmap indexing and LINQ query filtersEmbedded NoSQL database for .NET - An open source MongoDB-like database with zero configuration - mobile ready

 

 

두가지 중에 LiteDB가 모바일 기기도 지원하고, MongoDB와 비슷한 경험으로 사용할 수 있다. 그래서 LiteDB를 더 추천드린다.

 

 

ERWin을 통해 논리 모델과 물리 모델을 열심히 만들었다.

그렇지만 툴을 통해 Generated된 구문을 실행하여 Table을 생성하면

물리모델명 만 DB 스키마로 적용되어

Memagement Studio를 통해서 확인 할 때 ERWin을 참고해야 하는 불편 사항이 있었다.

적어도 Management Studio Diagram이나 Designer에서 확인 말 할 수 있어도

개발자가 분석하고 적용하는데 쉽게 적용할 수 있는 방법이 존재 한다.

 

아래와 같이 스크립트를 적용하면 논리 모델 정보를 중심으로 DB에 Description에 일치화 시킬 수 있는 방법이 있다.

 

위와 같은 메뉴를 클릭해

New를 눌러 Code를 아래와 같이 추가한다.

 

MSSQL

%ForEachTable() {
    exec sp_addextendedproperty 'MS_Description' , '%EntityName' , 'user' , 'dbo' , 'table' , '%TableName'
    go
 
    %ForEachColumn() {
        exec sp_addextendedproperty 'MS_Description' , '%AttName' , 'user' , 'dbo' , 'table' ,
            '%TableName' , 'column' , '%ColName'
    go
    }
}

 

MySQL

%ForEachTable()
{
    ALTER TABLE %TableName COMMENT = '%EntityName';
    %ForEachColumn()
    {
        ALTER TABLE %TableName CHANGE COLUMN %ColName %ColName %AttDatatype %AttNullOption COMMENT '%AttName';
    }
}

 

Oracle

%ForEachTable()
{
    COMMENT ON TABLE %TableName IS '%EntityName';
 
    %ForEachColumn()
    {
        %Switch('%ColumnComment')
        {
            %Choose(''){COMMENT ON COLUMN %TableName.%ColName IS '%AttName';}
            %Default {COMMENT ON COLUMN %TableName.%ColName IS '%ColumnComment';}
        }  
    }
}

-- 설명이 있는 테이블 리스트
SELECT objtype, objname, name, value FROM::fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', default, default,default)


-- 설명이 있는 Temp 테이블의 필드 리스트
SELECT objtype, objname, name, value FROM::fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', 'Temp','column', default)


-- Temp테이블의 설명을 추가하기
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'설명테스트 테이블', @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'Temp'


-- Temp테이블의 설명을 수정하기
EXEC sys.sp_updateextendedproperty @name=N'MS_Description', @value=N'설명테스트 테이블', @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'Temp'


-- Temp테이블의 field1필드에 설명을 추가하기
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'설명테스트' ,@level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',
@level1name=N'Temp', @level2type=N'COLUMN',@level2name=N'field1'


-- Temp테이블의 field1필드에 설명을 수정하기
EXEC sys.sp_updateextendedproperty @name=N'MS_Description', @value=N'설명테스트', @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'Temp',
@level2type=N'COLUMN',@level2name=N'field1'

 

위와 같이 작업하면 동적으로 테이블이나 컬럼에 설명을 추가할 수 있고

Class를 Generated 할 때 사용할 수 있다.

 

ErWin에서 디자인시 논리적 뷰를 설명으로 대체해서 입력하고

Create 구문을 자동 생성할 때 위 구문을 추구하는 pre set을 만들어서 동기화를 하고

Class를 Generated할 때 위 정보를 활용하여 intellisense를 나타내도록 구현 한다면

ERWin –> MSSQL Schema –> Generated Class Structure로 일관성 있게 유지될 수 있을 것이다.

다만 역 방향으로의 reverse enginnering 되지 않는다는 단점이 있다.

 

다음 시간에는 ERWin에서 위 구문을 이용해서 Create에 추가할 수 있는 방법을 알아 보겠다.


DB 링크


명칭

URL

비고 

 Hadoop

 http://hadoop.apache.org/ 

 Column Store

 MongoDB

 http://www.mongodb.org/

 Document Store, No SQL

 CouchDB

 http://couchdb.apache.org/  Document Store, No SQL

 RavenDB

 https://github.com/ravendb/ravendb  Document Store, No SQL

MySQL

 http://www.mysql.com/   SQL

Cassandra 

 http://cassandra.apache.org/

http://blog.naver.com/naverdev/120116324222
 

 

   

 

   

No SQL 

 http://nosql-database.org/

 연합 사이트


'DB' 카테고리의 다른 글

관심있는 DB, NO SQL 사이트 링크  (0) 2012.11.12
Introducing to MongoDB - Part II  (0) 2012.11.12
Introduction to MongoDB - Part I  (0) 2012.11.12
Mongo Scaling the web  (0) 2012.11.12
MongoDB tutorial, NoSQL tutorial, MongoDB intro  (0) 2012.11.12

'DB' 카테고리의 다른 글

Introducing to MongoDB - Part II  (0) 2012.11.12
MongoDB vs MySQL  (0) 2012.11.12
Mongo Scaling the web  (0) 2012.11.12
MongoDB tutorial, NoSQL tutorial, MongoDB intro  (0) 2012.11.12
What is MongoDB?  (0) 2012.11.12

'DB' 카테고리의 다른 글

MongoDB vs MySQL  (0) 2012.11.12
Introduction to MongoDB - Part I  (0) 2012.11.12
MongoDB tutorial, NoSQL tutorial, MongoDB intro  (0) 2012.11.12
What is MongoDB?  (0) 2012.11.12
CouchDB is Magic  (0) 2012.11.12

'DB' 카테고리의 다른 글

Introduction to MongoDB - Part I  (0) 2012.11.12
Mongo Scaling the web  (0) 2012.11.12
What is MongoDB?  (0) 2012.11.12
CouchDB is Magic  (0) 2012.11.12
RavenDB  (0) 2012.11.12

+ Recent posts