전체 글 (34) 썸네일형 리스트형 [MySQL] Performance Schema와 Sys Schema Performance SchemaPerformance Schemamysql 서버가 기본적으로 제공하는 시스템 데이터베이스 중 하나로 mysql 서버 내부 동작과 쿼리 처리와 관련된 정보들이 저장되는 테이블이 존재한다.이런 테이블을 통해 mysql 서버 성능을 분석하고 내부 처리 과정을 모니터링할 수 있다. 데이터베이스를 조회하면 performance_schema라는 데이터베이스를 확인할 수 있다.performance_schema 내의 모든 테이블은 PERFORMANCE_SCHEMA라는 storage engine으로 설정되어있다.PERFORMANCE_SCHEMA storage engine은 실시간으로 정보를 수집하며 메모리에 저장한다. Event 테이블event 테이블은 thread에서 실행된 쿼리 처리와.. [유지 보수성 개선] 기본키로 TSID를 사용해보자 TSID1. 기본키로 TSID를 사용한 이유?MSA 환경에서 기본키를 채번 할 때 각 서비스에서 사용하는 데이터베이스에서 기본적으로 사용하는 전략을 사용했다.그러면 어떤 기본키 채번 전략을 사용했었는지 하나씩 살펴보겠다. MySQL 데이터베이스를 사용하면서 auto increment 전략을 사용했다.아이디는 숫자형으로 1부터 시작해서 데이터가 삽입될 때마다 1씩 증가한다.외부로 노출되는 API에서 auto increment 되는 기본키를 사용할 경우 보안적으로 좋지 않다. MongoDB 데이터베이스를 사용하면서 ObjectId를 사용했다.ObjectId는 12바이트로 처음 4바이트는 timestamp를 나타내고 다음 5바이트는 머신과 process마다 고유한 값을 나타내고 다음 3바이트는 counter를.. [성능 개선] REST 대신 gRPC를 사용해보자 gRPC1. gRPC를 사용한 이유?MSA를 적용하면서 내부 서비스 간 통신이 필요해지면서 REST API 방식을 사용하게 되었다.REST API 방식은 널리 사용되고 있는 방식으로 다양한 client가 지원하고 있고 텍스트 기반의 JSON 포맷을 사용하고 있어 접근성이 좋다. 외부로 공개되는 API의 경우 범용성을 고려해서 http/1.1 기반의 REST API를 쓰는 것이 좋지만 서비스 내부적으로 호출되는 API의 경우 REST API를 고집할 필요는 없다.gRPC는 http/2 기반으로 동작하는 원격 procedure를 호출하는 framework로 binary 형식의 protocol buffers 포맷을 사용한다.gRPC는 기본적으로 http/2를 사용하기 때문에 http/1.1에 비해 성능이 좋고.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 12 다음