Type Annotation 이용하여 다양하고 복잡한 파이썬 객체를 데이터베이스로 관리하는 법

카테고리: 파이썬 라이브러리 (Python Library)
난이도: 중급
발표 시간: 30분
언어: 한국어

설명

Python에서 타입 정보를 나타내는 타입 어노테이션을 이용해서 복잡한 JSON 데이터를 데이터베이스에 저장하는 방법에 대해서 알아봅시다. FastAPI에서도 사용하는 Pydantic을 이용하여 필드들의 정보를 추려 올 수 있으며 JSON으로 상호 변환이 가능합니다. 이 기능을 기반으로 데이터베이스의 테이블 스키마를 정의하는데 필요한 각종 데이터 타입을 정의하고, 특정 키 값을 인덱싱이 된 데이터베이스 필드 값으로 만들거나 배열의 값을 인덱스로 만드는 법을 이야기 합니다. 더 나아가서 객체 안에 존재하는 중첩된 객체들을 효과적으로 검색, 처리하기 위한 방법들도 같이 이야기 합니다. Python의 타입 어노테이션에 대한 설명을 드리고 타입 정보들이 어떻게 저장되어 있는지 간략하게 보실 수 있습니다. Pydantic의 기본적인 사용법과 Mariadb의 JSON관련 기능들의 일부 내용들도 같이 논의 됩니다. Pydantic과 SQLAlchemy을 사용하면 데이터베이스 테이블 필드에 정확하게 대응하는 객체들을 관리할 수는 있지만, 다양하면서 복잡한 형태의 데이터는 처리하기에 어려움이 있습니다. 저희가 공유드린 방법을 사용하면 복잡한 객체들도 저장이 가능합니다. 이 라이브러리를 이용하여 데이터베이스 관련된 확장 가능한 Rest API를 손쉽게 만들수 있습니다. 세부 구현 소스 또한 같이 공유합니다. 발표에서는 언급되지 않았지만 자주 공유되는 객체, 상호 조인이 가능한 객체 정의, 다양한 타입의 객체를 저장하는 방법과 Full Text Search기능등도 구현해두었으니 참조하시면 도움이 될 것 같습니다.

발표자 소개

고용석
고용석

임베디드 시스템 프로그램을 만들다가, 은행으로 이직하게 되었습니다. 다양한 금융 회사의 특화된 도메인을 위해 개발을 해왔어요. 은행과 증권사에서는 파생 상품 관련 시스템을 개발, 유지 보수하였구요. 보험사에서는 보험료/준비금을 분산 환경(Ray)에서 계산할 수 있는 시스템을 개발, 유지 보수하고 있습니다.분산 환경과 Optimization에 대해서 관심이 많습니다.

후원사 목록

키스톤

  • 위대한상상

파트너

  • KSTEC
  • 메리츠화재해상보험주식회사
  • 버드뷰 (화해)
  • 브레이브모바일
  • 에이블리코퍼레이션
  • 에잇퍼센트
  • 엘라스틱서치코리아
  • 원티드랩
  • 코드박스

스타트업

  • 닷슬래시대시
  • 아이엠디티

커뮤니티

  • Data Korea
  • 파이토치 한국 사용자 모임
  • 한빛미디어