conda-forge postgresql 과 multithreading
84
작성한 질문수 13
강의에서 설명하지 않으신 내용인데요 가능한지 궁금하여 여쭈어봅니다.
Conda-forge 내에 postgresql package가 있습니다. (Postgresql | Anaconda.org)
물론 서비스 시에는 database 서버를 따로 두는게 좋다는건 수업 때 설명으로 이해하였습니다. 그러나 실 서비스 시 postgresql를 사용할 것이라면 개발 시에 sqlite 대신 위 package를 사용하는게 만약 더 적합할까요?배포 과정 설명 시에 로드 밸런서가 작업을 서버에 할당해준다고 설명해 주셨는데, 보아하니 각 작업을 싱글 쓰레드로 할당하는 것 처럼 보였습니다. 장고의 경우 View 단에 multithread로 작업할 내용이 있다면, 어떻게 처리해야 하나요?
답변 1
0
안녕하세요.
개발 시에도 실제 서비스에서 사용할 데이터베이스 엔진을 사용하신다면, PostgreSQL에서만 제공하는 기능도 개발 시에 활용하실 수 있으니 편리한 점이 있습니다.
데이터베이스는 OS 팩키지 매니저에서 지원하는 것으로 설치하셔도 좋고, supabase나 AWS 등의 PostgreSQL 서비스를 활용하시는 것도 좋습니다.
https://supabase.com/
supabase는 PostgreSQL 기반의 서비스이며, 무료 플랜도 있고, 장고에서 직접 database 연결도 할 수 있습니다.
그리고, 길고 계산량이 많은 작업의 경우 Python에서는 View 단에서 직접 처리하기 보다, Celery 등의 별도의 Worker를 통해 처리를 많이 하는 편입니다.
https://docs.celeryq.dev/en/latest/django/first-steps-with-django.html
살펴보시고 댓글 남겨주세요. :-)
0
보충하자면, 파이썬에서는 GIL (global interpreter lock)으로 인해, CPU 중심의 계산의 경우 멀티 쓰레드는 효율이 매우 낮습니다.
GIL에 대해서는 아래 발표를 보시면 이해하시는 데에 도움이 되실 것입니다.
https://youtu.be/hj8BnSAalEs?si=792IRk-0OLf5tjRG
대개 별도의 프로세스를 통해 수행하구요. Celery 등의 worker를 활용하시면, 다수의 프로세스, 다수의 머신 Pol에서 탄력적으로 작업을 수행할 수 있어 편리합니다.
Django의 View나 URL의 네이밍 컨벤션
0
60
1
08-14 FormView 관련 질문
0
72
1
07-01 IPv4AddressIntegerField 질문
0
82
1
14-08 수업 확인 요청 드립니다.
0
91
2
nextjs git 관리?
0
75
1
14-07에서 SESSION_COOKIE_DOMAIN = None 처리 필요.
0
75
2
고민
0
219
3
django-component==0.139 실행 시 오류
0
167
2
django-csp 4.0 migration 관련
0
122
2
01 윈도우 개발환경 설치 문의
0
99
1
강의 자료 문의
0
129
2
선생님 학습 방법 질문이 있습니다.
0
154
2
bulk_update에서 updated_at 필드
0
124
1
정규표현식
0
107
2
선생님 질문 있습니다.
0
80
1
공유자님 이 강의 공부 방법에 대한 질문입니다.
0
181
2
mydjango.py 질문 있습니다.
0
147
3
Django-Components의 0.128 세팅
0
226
3
질문 아님.
0
127
1
mydjango.py 실습 질문있습니다.
0
87
2
pycharm 개발환경 설정 오류
0
182
2
강의 듣다가 유료pycharm에 비해 vscode지원기능이 아쉬워서 확장프로그램 만들었는데 여기 공유해도 될까요?
0
167
1
중단점에 대한 질문 있습니다.
0
133
2
todo / react 붙이는 깃주소를 받고 싶습니다.
0
179
6





