본문 바로가기

전체 글62

Elasticsearch reindex 시 timestamp에 시간 더하는 쿼리 Elasticsearch 에서 data stream에서 다른 data stream으로 데이터를 옮기면서 타임스탬프 값을 증가 해야할 일이 있었습니다. (정확하게는 하나의 data stream에 속하는 index에서 다른 data stream에 속한 index로 옮기는 작업이 였습니다.) POST _reindex { "source": { "index": "src-index-name", "query": { "range": { "@timestamp": { "lt": "2023-04-10" } } } }, "dest": { "index": "dest-index-name", "op_type": "create" }, "script": { "lang": "painless", "source": """ DateTimeF.. 2023. 5. 3.
DB Fragmentation 공부 기록 Maria DB를 사용하는 서비스 준비 중 대량의 IO가 발생할 가능성이 있고 테스트 중 IO 속도가 느려지는 경우가 발생했습니다. 뭐 근본적으로는 로직 설계의 문제였고 해당 부분을 고쳐서 해결했지만 해당 문제 원인 파악중 공부한 내용을 간단하게 기록합니다. (Fragmentation 은 모든 DB에서 일어날 수 있는 문제이지만 제가 자주 사용하는 MariaDB를 기준으로 설명합니다) 검색하다보니 partioning 과 동일한 의미로 fragmentation 을 뜻하는 문서도 꽤나 보이는 데 해당 포스트에서는 partioning 과 동일한 의미가 아닌 메모리에서 일어나는 문제에 대해 말합니다. 선수 지식 1. MariaDB Delete 명령어는 삭제된 공간을 바로 반환하지 않는다. 2. MariaDB의 .. 2023. 3. 27.
주로 사용하는 AI 도구들... 간단하게 제가 자주 사용하는 AI 도구들 소개합니다. 소개 순서는 제가 먼저 사용한 대로.. 1. Github Copilot 어떻게 보면 ChatGPT의 선구자?격 서비스. 결국 같은 회사이긴 하지만 MS에서 낸 코딩 관련 AI 도구입니다. visual studio 및 jetbrain 등 유명한 IDE들에서 확장 플러그인으로 지원합니다. 1년 기준으로 가격이 100불로 사용시에는 무조건 비용이 들어갑니다. chatgpt 나오기 전부터 사용하고 있었는데 chatgpt와는 달리 완전히 코딩에 특화되어 있기 때문에 나름 쓸만은 합니다. 개인적으로는 익숙한 언어를 칠 때보다는 생소한 언어를 사용할 때 아예 어떻게 문법을 쳐야할 지 접근이 안되는 경우에 유용하게 쓰고 있습니다. 예를 들면 shell script로.. 2023. 3. 17.
oracle database 다른 버전의 DB간 link 오류 sqlnet.ora에서 서버와 클라이언트 버전은 명시해뒀을 것이란 가정하에 일어나는 오류입니다. 분명히 아이디와 패스워드를 정확히 맞췄음에도 올바른 계정과 패스워드가 아니라며 로그인이 안되는 경우가 있습니다. (위에서 말한 프로토콜 오류 X) 이 경우 user 확인 후 password_version을 확인해보시면 됩니다. 관련 링크 http://www.koreaoug.org/security/7837 ORA-28040 에러 제거 - Security - 한국오라클사용자그룹 ORA-28040: No matching authentication protocol error. 위의 경우는 언제 발생이 되는지 ?? 다음과 같은 경우 확실하게 에러가 납니다. 오라클 서버 버전이 최신 : 12cR1 이상 개발자 분들의 p.. 2021. 11. 2.
[JAVA] SimpleDateFormat parse 에러 기존 코드 String day = "20210129" SimpleDateFormat dayFormat = new java.text.SimpleDateFormat("yyyyMMdd"); Date dt = dayFormat.parse(day); 에러 내용 java: unreported exception java.text.ParseException; must be caught or declared to be thrown 바뀐 코드 try{ String day = "20210129" SimpleDateFormat dayFormat = new java.text.SimpleDateFormat("yyyyMMdd"); Date dt = dayFormat.parse(day); } catch(Exception e){ Sy.. 2021. 9. 16.
DataGrip에서 SSH tunnel 사용하기 https://www.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS5064906327&cate_cd= SSH Tunneling 사용하기 SSH(Secure Shell)는 네트워크 보안에 있어 대중적이고 강력한 접근 방식을 제공하기 위해 만들어진 프로토콜이다. SSH에 기반한 제품은 서버와 클라이언트의 한 쌍으로 구성되어 있는데, 보통 사용 www.hanbit.co.kr SSH Tunnel에 관한 개념이 헷갈리신다면 위의 글을 일고 오시는 걸 추천합니다. 그래도 읽고 오기 귀찮으신 분들을 위해서 간단하게 그림 예제로 넘어가겠습니다. Host A에 올라가 있는 APP에서 Host B에 있는 DB에 접근해서 데이터를 받아와야 한다고 생각해봅시다... 2021. 9. 14.
NoSQL DB와 RDB의 차이점 한줄 정리 : NoSQL DB는 SQL만 사용하는 DB가 아니라는 것입니다. 사실 극단적으로 말씀드리면 위의 한줄이 모든 차이점입니다. NoSQL DB와 RDB(SQL)의 차이점은 따지면 많은 차이점을 찾을 수도 있습니다. 하지만 그렇게 하지 않는 이유는 NoSQL이라는 정의 자체가 애매하기 때문입니다. 실제 NoSQL이 주변분께 무엇이냐고 물어보신다면 대체로 비관계형 DB, 혹은 SQL만을 사용하지 않는 DB 라는 대답이 대부분일 것입니다. 만약 이 대답이 아니라면 정말 길고 긴 설명을 해야할지도 모르기에... 저도 DB 공부를 시작한지는 얼마 되지 않았기에 일반적인 차이점들만 집고 넘어가도록 하겠습니다. 일반적으로 RDB는 관계형 테이블의 형태로 저장을 하지만 NoSQL DB는 테이블뿐만 아니라 여러.. 2021. 8. 26.
oracle database 11g Release 2 다운로드 방법 인터넷에 있는 방법들이 거의 안먹히게 되었습니다. 간단하게 정리하겠습니다. 준비물 : 오라클 계정, 인내심 일단 아래의 페이지에 접속하여 로그인을 합니다. https://edelivery.oracle.com/osdc/faces/Home.jspx Oracle Software Delivery Cloud See a quick, introductory tour of the download process edelivery.oracle.com 로그인한다면 이러한 화면이 나오게 될 것입니다. 이제 여기까지 오면 다들 본능적으로 치고 있을 Oracle Database 11g 11.2.0을 입력하고 검색합니다. 아마 우리가 원하던 것이 나왔습니다. 11.2.x.x 는 release 2를 의미하는 듯 합니다. 기쁜 마음으.. 2021. 8. 25.
[SQLD] 데이터 모델링이란? 취업 준비를 하면서 기업에서 하는 직무들을 보면 데이터 모델링이라는 말이 많이 있습니다. 이 단어에 대해 간단하게 정리만 합니다. 간단하게 한 문장으로 설명하자면 아래와 같습니다. 현실세계의 개념을 데이터베이스 내의 개념으로 변환하는 추상화 작업 데이터 모델링은 일반적으로는 3가지 특징을 가지고 있다고 합니다. Abstraction(추상화) : 현실세계의 데이터의 모양으로 간략하게 표현 Simplification(단순화) : 복잡한 표현을 지양하며 쉽게 이해하도록 표현 Clarity(명확성) : 명확하게 의미가 해석되어야 함 데이터 모델링은 다음과 같은 3개의 단계를 거치게 됩니다. 1. 개념적 모델링(Conceptual Data Modeling) 도메인 지식을 얻고 업무 전체에 대해 데이터 모델링을 수.. 2021. 8. 10.