현db
사용자가 쿼리보냄
-> 옵티마이저가 쿼리 분석함
-> 테이블 조인 좆되게 많은거 조인 순서를 옵티마이저가 순서 정함
-> 옵티마이저가 순서 병신처럼 짜면 dba 가 힌트 줘서 조인순서 유도함
-> 정한 순서대로 테이블 읽어서 쭊쭊쭊 모든 테이블 읽음
양자db
사용자가 쿼리보냄
-> 옵티마이저가 쿼리 분석함
-> 어? 시발 조인 왜케 많아 이거 양자컴한테 하청 때려야지
-> 야 양자컴아 이거 조인 순서 어케할까?
-> 으휴 병신아 실행계획 줘봐. 이케해 병신아 ㅉㅉ
-> 오키 그럼 이 순서로 조인한다
-> 양자컴이 정한 순서대로 테이블 읽어서 쭊쭊쭊 모든 테이블 읽음
대충 양자db 의 기능중 하나임 이게
아래는 db 가 실제 api 어케 보낼지 gpt 가 설명해줌
API 콜로 보내는 데이터의 실체 (JSON 예시)옵티마이저는 대략 다음과 같은 구조의 JSON 데이터를 양자 API로 전송합니다.
각 필드가 의미하는 바는 다음과 같습니다.
join_costs: 비용 행렬(Cost Matrix)입니다. join_costs[i][j]는 테이블 i와 테이블 j를 조인할 때의 예상 비용(처리 시간, I/O 비용 등)을 숫자로 나타낸 것입니다. 옵티마이저는 통계 정보를 바탕으로 이 행렬을 미리 계산합니다.
selectivities: 선택도(Selectivity) 리스트입니다. 각 테이블이 WHERE 조건 등으로 얼마나 데이터를 걸러낼지에 대한 추정치입니다. (0에 가까울수록 많은 데이터를 걸러냄)
constraints: 제약 조건입니다. "이 테이블은 반드시 먼저 조인되어야 한다"와 같은 특수한 규칙이 있을 경우 이를 전달합니다.
https://qiskit.qotlabs.org/docs/api/functions/kipu-optimization
실제 api 는 ibm 퀀텀뭐시기 문서에서 problem 이라는 파라미터가 문제만 풀어주는거임
지금도 가능함
10분에 16만원
근데 그걸 db 에서 바로 못보내
쿼리나 옵티마이저의 비용 결과값은 ibm 의 api 형태가 아니니까
즉,
사용자쿼리 -> db 옵티마이저 -> 중간다리로 양자 클라우드 api 변환 -> 양자클라우드
https://github.com/inefabl/Hybrid-DB-system
https://github.com/ihanwen99/Q2O
여기 이런식으로 개발되어있대
D-Wave Leap 의 NL-Solver 사용한다고 나옴
양자컴 뒷단에 추가한 게 끝이농
openai 이런거 llm 모델 api 보내서 쓰는거랑 같은거로 이해하면 될듯
이러면 세상만물이치도 이해하고 한줄로 설명가능
상세한건 내가 이해할게 아님 이해한다고 돈나오면 모를까
네트워크 구성하는게 문제네
큰기업은 양자컴 자체를 폐쇄망에 설치할듯 비용 싸지면