[정리] 데이터베이스(33)
-
[2019.03.13] RDBMS, NoSQL 데이터 모델 비교
제품 스키마 대응 RDBMS MySQL OracleDB PostgreSQL 데이터 베이스 테이블 행 열 NoSQL Cassandra 키 스페이스 테이블 행 열 Elastic search 인덱스 타입 문서 (JSON) 문서필드MongoDB 데이터 베이스콜렉션 문서 문서 필드Redis 해쉬 테이블을 메모리에 항상 상주하는 느낌이라 스키마가 없는 것 같다.
2019.03.13 -
[2019.03.13] Redis 간략히
Redis : REmote DIctionary Server 의 약자 Redis 포스트 내용 정리 출처 : https://bcho.tistory.com/654Redis Command document : https://redis.io/commands위 사이트에서 간략한 redis command를 사용해볼 수 있으니 참조 Redis 설치 간략히brew install redis brew services start redisredis-cli redis-server * cli = Command Line Interface Redis 특징 메모리 기반의 key-value 타입get - set 으로 데이터를 불러오고 저장한다. 수평적 확장이 쉬움기능이 간단하고 용량도 얼마 안됨데이터 로딩할 때 메모리 캐시 용도로 주로 ..
2019.03.13 -
[2019.03.13] RDBMS, NoSQL, Hadoop
제품장단점 비고 RDBMS MySQL OracleDB PostgreSQL 장점 + 보안, 안전성이 좋음 + 관리하는 GUI가 좋음 + 복잡한 쿼리 수행 최적화 되있음 + 어떤 순간에도 일관성 유지 + 동시성도 좋음 비즈니스 데이터 엄격한 트랜잭션 처리 ACID Atomic 보장 안전성 보장 단점 - 상대적으로 고비용이다. NoSQL Elastic search CassandraMongo DB 장점 + 용량 대비 비용이 좋음 + 동시 접속성이 좋음 + 단순한 싱글 쿼리에 적합 + 데이터 추가가 유연함 기본적으로 Join 존재 x -> 어플리케이션에서 담당해야함. API 레벨에서 기능을 가져다 쓰는 용도 SQL 방식의 코딩이 없음 단점 - GUI 가 별로없음 - 보안 이슈가 RDBSMS 보다 낮음 Redis ..
2019.03.13 -
[2019.03.07] Elastic search (logstash)
Logstash=> 여러 데이터베이스로부터 데이터를 필터링하고 수집하여 엘라스틱 서치에 저장하는 역할=> ex. mySQL, mongoDB, CSV file, ... mySQL -> Logstash -> Elastic search -> kibana 어떤 데이터들이 mySQL에 저장되어 있다고 가정하자 그리고 우리는 이 데이터 베이스안의 데이터를 가공해서 엘라스틱 서치에 넣고 싶고 이를 바탕으로 Kibana를 통해 차트 형태로 보고싶다. 이 때 logstash는 위와 같은 형태로 사용된다.ELK stack = Logstash -> Elastic search -> kibana 이러한 흐름이 스택처럼 쌓였다하여 ELK stack이라 부른다.ELK stack 에서는 filebeat을 같이 쓰기도한다.로그를 수집..
2019.03.07 -
[2019.03.06] Elastic search (Kibana)
Kibana를 잘 쓰면 데이터 확인을 위해 GET을 해줄 필요가 없다.Kibana를 통해 Elastic search 인덱스(DB) 안에 있는 데이터를 Aggregation하여 차트 형태로 열람이 가능하다.Kibana를 위한 예제 데이터 생성 curl -XPUT localhost:9200/basketballcurl -XPUT localhost:9200/basketball/record/_mapping -d @ch05/basketball_mapping.json -H 'Content-Type:application/json'curl -XPOST localhost:9200/basketball/_bulk --data-binary @ch05/bulk_basketball.json -H 'Content-Type:appli..
2019.03.06 -
[2019.03.06] Elastic Search (Mapping, Search, Aggregation)
Mapping = Scheme = 어떤 데이터가 있는지 그 데이터는 어떤 타입이어야 하는지 알리는 것 = Mapping은 테이블(문서)에 지정하는 과정참조 : https://github.com/minsuk-heo/BigData/tree/master/ch01 curl -XPUT http://localhost:9200/classes?prettycurl -XGET http://localhost:9200/classes?prettymapping { } 으로 되있음classes 인덱스는 있지만 매핑이 안된상태 curl -XPUT http://localhost:9200/classes/class/_mapping?pretty -H 'Content-Type: application/json' -d @ch01/classesR..
2019.03.06