Conversation
|
우측에 있는 |
Summary of ChangesHello @chichoon, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! 이 PR은 소프트웨어 아키텍처에서 운영 데이터 분리의 중요성과 구현 전략에 대한 포괄적인 학습 노트를 추가합니다. 데이터 분해 및 통합의 필요성을 다루고, 모놀리식 시스템에서 데이터를 분리하는 점진적인 마이그레이션 경로를 제시하며, 다양한 데이터베이스 유형의 특성과 선택 기준을 설명하여 아키텍트가 데이터 관리 결정을 내리는 데 필요한 지식을 제공합니다. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
| - 하나의 데이터베이스를 여러 서비스가 바라볼 경우, 커넥션 뿐만 아니라 처리량 부하도 심각해진다 | ||
| - 따라서 서비스 확장을 위해서는 데이터베이스 확장을 통해 처리량을 분산시키는것이 좋음 | ||
| - 내고장성 | ||
| - 여러 서비스가 하나의 데이터베이스를 공유할 경우, 장애가 해당 데이터베이스에만 발생하게 됨 |
There was a problem hiding this comment.
'내고장성'에 대한 설명이 오해를 불러일으킬 수 있습니다. 현재 문장은 "장애가 해당 데이터베이스에만 발생하게 됨"이라고 되어 있어, 마치 장점이 되는 것처럼 읽힐 수 있습니다. 공유 데이터베이스의 문제점은 해당 데이터베이스에 장애가 발생하면 이를 공유하는 모든 서비스에 장애가 전파된다는 점입니다. 이 점을 명확히 하는 것이 좋겠습니다.
| - 여러 서비스가 하나의 데이터베이스를 공유할 경우, 장애가 해당 데이터베이스에만 발생하게 됨 | |
| - 여러 서비스가 하나의 데이터베이스를 공유할 경우, 해당 데이터베이스에 장애가 발생하면 이를 공유하는 모든 서비스가 영향을 받게 됨 |
There was a problem hiding this comment.
음 졸면서 적었나 문장이 이상하긴하네요 ..
| - 외래 키를 통한 연결, 저장 프로시저 등 | ||
| - 데이터베이스 분해를 통해 내고장성을 높일지, 통합을 통해 테이블 간 관계를 유지하는게 나을지 고민해야 함 | ||
| - 데이터베이스 트랜잭션 | ||
| - 서로 다른 테이블에서 발생한 에러는 같은 트랜잭션으로 묶을 수 없기 때문에 데이터의 일관성과 무결성을 보장할 수 없음 |
There was a problem hiding this comment.
데이터베이스 트랜잭션에 대한 설명이 약간 모호합니다. '서로 다른 테이블'이라고만 하면 같은 데이터베이스 내의 다른 테이블로 오해할 수 있습니다. 데이터베이스가 분리되었을 때의 트랜잭션 문제를 지적하는 것이므로, '서로 다른 데이터베이스'에 있는 테이블이라는 점을 명확히 하는 것이 좋겠습니다.
| - 서로 다른 테이블에서 발생한 에러는 같은 트랜잭션으로 묶을 수 없기 때문에 데이터의 일관성과 무결성을 보장할 수 없음 | |
| - 서로 다른 데이터베이스에 걸친 작업은 단일 트랜잭션으로 묶을 수 없으므로 데이터의 일관성과 무결성을 보장하기 어려움 |
|
|
||
| #### 데이터베이스 종류별 특징 | ||
|
|
||
| - 관계형 디비 |
| - 가용성보다 일관성 중시 | ||
| - 업계 표준이라 공부할 자료가 많고 모델링도 비교적 쉽다 | ||
| - 키-값 데이터베이스 | ||
| - 관계형 디비보다 배우는 것은 까다로우나, 확장성과 내분할성 면에서 이점을 갖는다 |
| - 데이터 흐름 방향성에 따라 복잡해지기 쉽다 | ||
| - NewSQL | ||
| - 관계형 데이터베이스와 유사하여 학습이 어렵지 않음 | ||
| - SQL을 지원하고, NoSQL의 확장성과 관계형 데이터베이스의 장점을 섞은 느낌 |
| ``` | ||
| 논의점: 데이터 분해인에 정말 많은 요인들이 있는데, 이것들을 고려하기 수월하게 해 주는 피트니스 함수나 유틸리티는 어떤 것이 있을까? | ||
| ``` |
There was a problem hiding this comment.
관련된 피트니스 함수가 있는지 잘모르겠네요 상황에 맞게 사람이 판단해야하는 부분 같습니다
| - 데이터 처리 방식에 따른 분리 | ||
|
|
||
| ``` | ||
| 논의점: 데이터 분해인에 정말 많은 요인들이 있는데, 이것들을 고려하기 수월하게 해 주는 피트니스 함수나 유틸리티는 어떤 것이 있을까? |
There was a problem hiding this comment.
책에서 직접적인 설명은 안해줬지만 커넥션 풀의 유휴 갯수를 체크하는 피트니스 함수가 있었기 때문에 서비스별 커넥션 사용 갯수를 뽑을 수 있지 않았을까 싶습니다.
분해인에 대해서 뭔지는 설명해 줬으니 방법은 직접 구현해서 뽑아보면 좋을 것 같습니다.
어렵네요