전체보기: 525개의 글
Redis를 편하게 사용할 수 있는 무료 GUI tool P3X Redis UI에 대해 알아보자 P3X Redis UI 설치설치 URL - https://electronjs.org/apps/p3x-redis-ui 위 URL에 접속하여 좌측 하단에 Download for Windows 클릭 후. exe 파일을 실행하여 설치 P3X Redis UI 사용법 NEW CONNECTION 클릭 연결하려는 Redis 정보를 입력한 후 'TEST CONNECTION' 버튼을 클릭하여 'Redis connected successful' 이라는 문구가 나타나면 'SAVE' 버튼을 눌러 저장 저장을 하면 상단에 방금 만든 TEST 커넥션이 나오는 걸 확인할 수 있다.이후 하단에 CONNECT 버튼 > TEST 커넥션 클릭 ..
Redis를 terminal이 아닌 GUI Tool이 필요했는데, 구글링해보면 유명한 tool들이 많았는데, 대부분 유료이고 가격이 엄청 비쌌다 ㅠㅠ그래서 직장 동료에게 추천 받은 tool이 바로 Medis이다. 홈페이지 : http://getmedis.comMedis도 사실 유료지만 가격은 5900원 정도로 다른 tool에 비해 저렴한 편이다.하지만 내가 조금만 노력하면 무료로 사용할 수 있다! 1. Medis 소스 코드 받기아래 github에서 코드를 다운받는다.https://github.com/luin/medis 이 때 목적지 경로를 잘 기억해둔다! 2. terminal을 열고, medis 프로젝트 경로로 이동한다. 3. 아래 코드를 차례대로 실행시킨다.> npm install> npm run bu..
Arcus는 Memcached 를 확장한 구조이며, Memcached에 대한 공식사이트 설명은 아래와 같다. 무료 및 오픈 소스, 고성능 분산 메모리 객체 캐싱 시스템이다. 데이터베이스 부하를 완화하여 동적 웹 응용 프로그램의 속도를 높이는데 사용하는것이 일반적이다. Memcached는 데이터베이스 호출, API 호출 또는 페이지 렌더링 결과에서 임의의 작은 데이터 청크(문자열, 객체)를 위한 메모리 내 키-값 저장소라고 볼수 있다. Arcus는 서비스코드로 Arcus cloud를 구분한다. 클라이언트는 서비스코드에 해당하는 cloud에만 접속할 수 있다. 서비스코드가 즉 Arcus Cache 클라우드의 이름이 되는 것이다. 한 개의 arcus 클라이언트는 하나의 arcus 클러스터에만 접속할 수 있게 ..
수직 샤딩: 컬렉션 단위로 데이터를 나누어 할당. 데이터베이스별로 지정된 프라이머리 서버에만 저장됨. (똑같은 데이터가 여러 서버에 나뉘어 있음 : QPS는 분산되나, 데이터 사이즈는 분산 불가능)수평 샤딩: 하나의 컬렉션의 도큐먼트를 여러 서버에 나누어 할당 (콜렉션 총 크기가 10TB라면, 10대의 서버가 약 1TB씩 데이터를 가지고 있는 형상) HBase는 클러스터 접근 HMaster에 접근하며, 원하는 데이터노드의 정보를 받아 그 데이터 노드에 가서 클라이언트 노드와 통신하게 된다. 만약 접속 중인 data node에 원하는 데이터가 없으면 다시 HMaster(리전 서버)에게 문의한다. MongoDB에서 클라이언트는 무조건 Mongos 서버(라우팅 역할만)와만 통신한다. Config서버(repli..
https://db-engines.com/en/ranking -> DB엔진 랭킹 사이트(monthly단위로 확인 가능) 사용량은 아니고, Stackoverflow 같은 검색어 질의를 Summary한 랭킹사람들이 많이 사용? 조회? 하는 DB 순서 랭킹 DBMS의 종류별로 확인 가능. Relational DBMS (Oracle / MySQL / Mssql / Hive / Spark SQL ...)Key-value stores (Redis / Amazon DynamoDB / Memcaches / Ehcache ...)Document stores (MongoDB / Amazon DynamoDB / Couchbase ...)Search engines (Elasticsearch / Splunk / Solr .....
NoSQL 개요NoSQL은 다양한 데이터 구조를 갖습니다. 그리고 Key/Value, Column Family, Graph, Document 등 다양한 형태의 데이터베이스로 분류됩니다. Column Family의 기본 형식은 KV(Key/Value)이기 때문에 KV(Key/Value) 구조를 간단히 설명하고 넘어가겠습니다. 전통적인 데이터베이스 데이터 관리 방법은 하나의 row에 해당 row에 종속되는 속성들을 나열해 관리했습니다.일반적으로 관리되는 데이터가 NoSQL에서는 어떤 형식으로 관리되는지 사례를 들어 설명하겠습니다. 1. KV(Key/Value) StoreNoSQL에서 가장 기본이 되는 것은 Key/Value Store입니다. NoSQL을 이해하는데 있어 Key/Value 모델이 가장 기본적인..
DFS lock handleDFS lock handle은 요청한 Global lock의 lock handle을 기다리고 있는 대기 이벤트입니다. 이 lock handle은 global lock과 동일합니다. lock handle을 획득하면 global lock을 소유한 상태로 lock conversion이나 lock release와 같은 여러 작업을 수행할 수 있습니다. global lock은 DLM(Distributed Lock Manager)에 의해 관리됩니다. DFS는 Distributed File System의 약자로, 오라클 제품 역사(History)와 관련 있는 용어로 생각됩니다. 오라클 10g의 RAC 기능이 완성되기 전까지 오라클은 상당한 기간동안 분산 데이터베이스를 구현해 왔으며, 최초의..
Placeholder/Fixed-up 이벤트 구조오라클 10g의 클러스터 대기 이벤트들은 다음 2가지로 분류됩니다. 1) Placeholder 이벤트2) Fixed-up 이벤트 특징은 다음과 같습니다. 1) 클러스터 클래스의 대기 이벤트에서만 사용2) Oracle 10g에서 추가된 개념 * Palceholder 이벤트Placeholder 이벤트는 특정 프로세스가 글로벌 자원, 즉 데이터 블록을 획득하는 과정에서 대기하는 이벤트를 말합니다. 모니터링 방법: V$SESSION_WAIT 에서 관찰해야 합니다. 아직 Fixed-up 이벤트로 변경되기 전이면 V$SESSION_EVENT에서도 관찰할 수 있습니다. * Fixed-up 이벤트Fixed-up 이벤트는 특정 프로세스가 데이터 블록을 최종 획득한 시점에 ..
SQL*net more data from/to clientSQL*net과 관련된 모든 대기 이벤트는 System API Call에서 비롯됨을 이해해야 합니다. 가령, SQL*net과 관련된 대표적인 대기 이벤트인 SQL*net message to client는 Server Process가 OS에서 Network Send API 요청을 하고 응답이 오기를 기다린다는 것을 의미합니다. OS는 Server Process가 요청한 Data를 TCP Send Buffer에 넣는 것으로 일을 마치고 Server Process에게 응답을 보냅니다. 즉, SQL*net message to client 대기는 실제 Network 전송이 끝나기를 기다린다는 의미가 아니라 OS가 Send Buffer에 성공적으로 Data를..
gc cr/current grant 2-way프리 블록에 대한 권한을 부여 받는 경우 오라클 10g에서는 gc current grant 2-way 이벤트를 대기한 것으로 관찰되지만, 오라클 9i에서 global cache open x 이벤트를 대기한 것으로 관찰됩니다. gc cr/current grant 2-way 이벤트는 gc cr/current request 이벤트에 대한 Fixed-up 이벤트로, 블록을 요청한 프로세스가 마스터 노드로부터 블록을 읽을 권한을 부여 받았음을(Grant) 의미합니다. gc cr/current request 이벤트가 gc cr/current grant 2-way 이벤트로 바뀌는(Fixed-up되는) 흐름은 다음과 같습니다. - 요청 노드의 유저 프로세스가 특정 데이터 블..