반응형 전체 글242 Redis 문제 해결 - WRONGTYPE Operation against a key holding the wrong kind of value 트러블 슈팅 WRONGTYPE Operation against a key holding the wrong kind of value 원인 레디스의 자료구조에 맞지 않는 명령어를 수행하려할 때 발생하는 에러였다. 내가 SortedSets 자료구조로 저장된 레디스 데이터를 GET으로 가져오려하니 발생했던 것. 올바른 조회 1. String → GET 2. Hash → HGETALL 3. Lists → Irange 4. Sets → smembers 5. Sorted Sets → ZRANGE 2022. 12. 29. Redis 운영모드 - Sentinel, Cluster 레디스는 단일 인스턴스만으로도 충분히 운영이 가능하지만, 메모리 한계를 초과하는 데이터를 저장하고 싶거나, failover에 대한 처리를 통해 High Availibilty를 보장하려면 센티널이나 클러스터 등의 운영모드를 사용해야한다. 1) Sentinel HA 지원 master/slave replication 여러개의 독립적인 sentinel process들이 서로 협동하여 운영된다 안정적인 운영을 위해서는최소 3개 이상의 sentinel instance 필요, 홀수 권장 센티널 기본 포트: TCP 26379 One master - multi slave 제공하는 기능 모니터링 알림 자동 failover master에 문제가 감지되면 자동으로 failover 수행 (과반수 vote) failover가 되.. 2022. 12. 29. Redis Persistence - RDB, AOF 장단점 Redis는 file로 남겨서 메모리 데이터가 사라졌을 때 복구할 수 있는 방법을 제공한다. 1) RDB (Redis DB) 주기적으로 특정 시점의 snapshot을 남긴다. 최소 5분 이상의 간격으로 세팅해야 한다. redis.conf 의 save 파라미터로 지정한다 ex) save 900 1 : 900초 동안 1번 이상 key 변경 발생 시 저장 save 조건은 여러개 지정 가능하다. 하나라도 만족하면 수행한다. 장점 성능 손해를 최소화 backup파일이 AOF에 비해 작고 복구 쉽다 restart 시간이 빠르다. 단점 마지막으로 snapshot이 남은 시점과 다음 주기 사이에 장애가 발생한다면 cache 데이터가 유실될 수 있다. 디스크에 남기는 child process를 만들기 위해 fork()를.. 2022. 12. 28. Redis key 설계 시 고려해야할 점, 운영 가이드 Redis key 설계 시 고려해야할 점 1. Avoid long key key 크기는 1K(1024 bytes)가 넘지 않도록 한다. key의 길이가 크다면 메모리를 더 많이 차지하며, key 비교 연산에서도 비용이 많이 든다. key의 크기가 크다면, hashing을 통해 unique함을 보장하면서 줄이면 된다. ex) SHA1, SHA256 등 2. Avoid too short key key 사이즈가 크지도 않은데 일부러 축약어 등으로 과도하게 줄이는 것은 바람직하지 않다. 줄인 key의 의미를 파악할 수 없는 경우에는 개발 과정에서 버그를 야기할 수 있다. Redis 클러스터 이용 시 분산이 골고루 이어지지 않고 한 노드에 요청이 몰릴 수 있기 떄문에 key의 분산을 위해 다른 키도 이와같이 설계.. 2022. 12. 27. Cache DB란? 관련 용어 및 종류 (Memcached, Redis) Cache DB 란? 데이터를 빠르게 조회할 수 있는 곳. 원본 데이터는 다른 곳에 있고 그것으로부터 copy된 데이터가 Cache에 존재한다. 일반 DB는 디스크IO를 기반으로 동작하고 효율을 높이기 위해 memory를 사용한다. in-memory DB는 모든 데이터를 메모리에서 다루기 때문에 조회속도가 빠르다. Cache hit 조회하는 데이터를 cache에서 찾을 때 Cache miss 조회하는 데이터를 cache에서 찾지 못했을 때 Hit ratio(rate) access 시도 횟수 대비 cache hit의 비율 -> 이 값이 높아야 캐시가 Cost-Effective 하다. Cache 주의점 Cache는 임시 데이터이다. 원본이 다른 곳에 있어야 하고, 언제든 유실될 수 있음을 고려하고 시스템을 .. 2022. 12. 26. MongoDB 기본 개념 Document : MongoDB에서 데이터를 저장하는 단위 형식은 미리 정해지지 않았다. 같은 Collection에 속한 Document라고해서 같은 형식을 따를 필요는 없다. _id 필드 _id 필드는 각 document의 primary key로서 반드시 가져야 한다. 직접 지정하지 않으면 objectid형식의 데이터가 자동 생성된다. ObjectId ObjectId (12bytes) = timestamp (4) + random (5) + counter (3) 직접 _id를 지정하지 않을 때 장점 ObjectId.getTimestamp()를 통해 별도의 필드 없이 생성 시점을 가져올 수 있다. ObjectId의 맨앞이 timestamp라서 정렬하면 시간순 정렬이 된다. Collection Docume.. 2022. 12. 26. NoSQL 종류 - MongoDB, Redis, Hbase, Druid MongoDB대표적인 NoSQL DB 단일 Collection의 document단위로 Atomicity와 Transaction 기능을 제공한다.빅데이터용 DB는 아니지만 sharding으로 확장성도 제공한다. Redis대표적인 in-memory DB 서버가 다운되면 유실될 수 있다! (잘못사용하면 큰일남)자료구조를 먼저 정하고 사용한다. (자료구조 특징을 이해해야한다)싱글스레드로 lock을 제공하지 않으면서도 빠르게 데이터를 조회할 수 있다. Apache HBase대표적인 빅데이터용 DB 단일 key로만 데이터를 저장하고 조회함 (장점이자 단점)데이터가 아무리 많아져도 단일 key에 대한 조회 속도는 느리지 않다.key를 제대로 사용하는 방법을 익혀야 한다. Apache Druid대표적인 cube형 DB.. 2022. 12. 25. MongoDB란? windows 설치하기 / Studio 3T, Compass 사용하기 MongoDB RDBMS와의 비교 MongoDB (NoSQL Database) RDBMS (SQL Server, Oracle, etc.) Database Database Collection Table Document Row(Record) Field Column 장점 1. json 형태로 저장하기 때문에 효율적인 방식으로 데이터를 저장하고 검색할 수 있다. 2. 문서기반 데이터베이스이므로 쉽게 확장 또는 축소 가능하다. 3. 대용량 데이터로 빠르게 수행된다. NoSQL중 하나인 MongoDB 설치와 사용툴을 알아보자 몽고DB 사이트 Try MongoDB Community Edition Try MongoDB Community Edition on premise non-relational database inc.. 2022. 12. 24. AWS 자격증 준비 방법 자격증 등급 1. 기초 foundational 2. 어소시에이트 associate 3. 프로페셔널 professional 4. 스페셜티 specialty 단계에 따라 난이도가 올라간다. 시험 시간 비용 1. 기초 - 90분, $100 2. 어소시에이트 - 130분, 약 $150 3. 프로페셔널 - 180분, 약 $300 4. 스페셜티 - 170분, $300 합격은 700점 이상이어야한다. 시험 준비 방법 여러 블로그를 보니 덤프 문제에서 거의다 나온다고 한다. 하지만 AWS 교육을 받지 않았을 경우에는 무작정 덤프로만 준비하는 것은 어려울 것 같다. 그래서 강의를 보라고 한다. 책 (좌) 기본적인 AWS 인프라 구축 설계 방법 책 (우) AWS associate 를 준비할 때 보는 책 github - 어.. 2022. 12. 19. 이전 1 ··· 12 13 14 15 16 17 18 ··· 27 다음 728x90 반응형