From 7a46ef37597dd347191dc4f4537251b5acb84ef6 Mon Sep 17 00:00:00 2001 From: Sandro Fuetsch Titan Date: Tue, 26 May 2026 19:23:46 +0200 Subject: [PATCH] first commit --- .env | 10 + __pycache__/baseStrategy.cpython-313.pyc | Bin 0 -> 2467 bytes __pycache__/hashJoinStrategy.cpython-313.pyc | Bin 0 -> 1505 bytes __pycache__/manager.cpython-313.pyc | Bin 0 -> 1452 bytes .../nestedInnerLoopStrategy.cpython-313.pyc | Bin 0 -> 1500 bytes __pycache__/setup.cpython-313.pyc | Bin 0 -> 7291 bytes __pycache__/sortMergeStrategy.cpython-313.pyc | Bin 0 -> 1516 bytes assignment_04.pdf | Bin 0 -> 151688 bytes baseStrategy.py | 40 ++++ gruppenname_04.tex | 189 +++++++++++++++++ hashJoinStrategy.py | 18 ++ main.py | 49 +++++ manager.py | 20 ++ nestedInnerLoopStrategy.py | 18 ++ .../__pycache__/all_queries.cpython-313.pyc | Bin 0 -> 1334 bytes .../hash_join_resolver.cpython-313.pyc | Bin 0 -> 572 bytes .../nested_loop_resolver.cpython-313.pyc | Bin 0 -> 511 bytes .../sort_merge_resolver.cpython-313.pyc | Bin 0 -> 392 bytes repositories/all_queries.py | 53 +++++ repositories/hash_join_resolver.py | 10 + repositories/nested_loop_resolver.py | 11 + repositories/sort_merge_resolver.py | 7 + setup.py | 193 ++++++++++++++++++ sortMergeStrategy.py | 18 ++ 24 files changed, 636 insertions(+) create mode 100644 .env create mode 100644 __pycache__/baseStrategy.cpython-313.pyc create mode 100644 __pycache__/hashJoinStrategy.cpython-313.pyc create mode 100644 __pycache__/manager.cpython-313.pyc create mode 100644 __pycache__/nestedInnerLoopStrategy.cpython-313.pyc create mode 100644 __pycache__/setup.cpython-313.pyc create mode 100644 __pycache__/sortMergeStrategy.cpython-313.pyc create mode 100644 assignment_04.pdf create mode 100644 baseStrategy.py create mode 100644 gruppenname_04.tex create mode 100644 hashJoinStrategy.py create mode 100644 main.py create mode 100644 manager.py create mode 100644 nestedInnerLoopStrategy.py create mode 100644 repositories/__pycache__/all_queries.cpython-313.pyc create mode 100644 repositories/__pycache__/hash_join_resolver.cpython-313.pyc create mode 100644 repositories/__pycache__/nested_loop_resolver.cpython-313.pyc create mode 100644 repositories/__pycache__/sort_merge_resolver.cpython-313.pyc create mode 100644 repositories/all_queries.py create mode 100644 repositories/hash_join_resolver.py create mode 100644 repositories/nested_loop_resolver.py create mode 100644 repositories/sort_merge_resolver.py create mode 100644 setup.py create mode 100644 sortMergeStrategy.py diff --git a/.env b/.env new file mode 100644 index 0000000..99ee662 --- /dev/null +++ b/.env @@ -0,0 +1,10 @@ +MARIA_USER = "root" +MARIA_PASS = 1234 +MARIA_DB = "finetuning" + +POSTGRES_USER = "finetuner" +POSTGRES_PASS = 1234 +POSTGRES_DB = "finetuning" + +PATH_AUTH = "repositories/auth.tsv" +PATH_PUBL = "repositories/publ.tsv" \ No newline at end of file diff --git a/__pycache__/baseStrategy.cpython-313.pyc b/__pycache__/baseStrategy.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8123204d448e2595491dd92503cabfb10e6fefa6 GIT binary patch literal 2467 zcmbVN&2JM|5P!SgwKw)AP8>qPCCQSsr7M~=3W<Z~*{8iT@L3}o(YRUiF-JKC$NVf$dH)-r0skvd;Sd=j zS|Cm|VUn*MrlKas2@Pg>HTVLjRE~9JEzd9uj$@ggU2qa+ZEKAO>%!hwFjylxp`1qG zCJt`lbs_27+j@YIq}(o}q=%B-Z_bW{2-v50=wUrP!HckALePXbxh~L%Z>OvU!P-tO z1iVX=Xf)fQhM9aO?OK{g)1H-Gej&jzCZPQ+bhBtt+j7lDtnfQq5O9 zr6?57u!swwtEY<{YO}6o1-H5wF)$DB6u~UNPQ7F%Pe>8& zUy5CA=1${M+z4#dc;u6HtqQr?L{G9g+SfQl8u)Mma9g83_BW7ZM~hG&ruhG%UjY4) zH+9V)NChVAUMOU)KuClrBumslqSTQrItY#_g>hju=*OLjOVoBeCU`c0u@e-skaf#4 zi=M?g4S&s`mRrnus_18nNp8Kkn20G_W}@q*smB7AlX0<35wZ0|258Y?-E9ek8O)Qb z1B1j34u5z1+uL_9m1lP4o|WSjsTzBKW1<@Sa7!NBJ#gsJ#RnH3&X&*b$ldp6@6K+^ zgH?I3B5uj=?Zys1QXi-fkC)HF;uZCKCbiC5tA2Q@Ub<_MwUqv0nQ04|3| z0E>=rwTYONpm8IBgGM$S(Vu}VI>8oX@DTY{y`T-L3%XT`11_8p8yWyF`-l=#BCG~e zK`j&|n$)%nZSx6qW9h#}`}!c09f=pyuwIId04d4yTI!Q4nsOm|X-+9cltzh9DW#x- zJHn-KrU>m2x;M=6d8HH>9baUetBNcDsi%iQncsAp39t1i9}Q}#R-^s6NkKLUj7bfZ zER?q$0E^2)t_6KAgT`o zyi*SC#NzA8)sb@O52(Q>`I+0;q{a2YGu5V z-7qVkJvqABHL)d4?n-?t8SGrYN<%&Ef_jr*f8>iOfiRJ*?`uQ&ed0< zhOuZ<*ULd`bqcU7ExF5PVJSP#!qzR%a$Jb3OYv2MP^77y&MdI-+2(`Egp6%MaX`_~ z9@s?tkR3(lho#RjpnN>rG}4|&?F9^_VLT=^OR>dKtSO)QZ^8^nUz3-DAP%n2Z}*Q? z`^UEXPgVO*JPzFdW0|K*niRyQ-(HtpP|b92+aSTheCIN=vc0tSBDY?cU2)TzD!$%^_(Vxij)jk@Jd+kJ z&%Bn-<$MIHe69NgXyFUDfYibaNwy9%(E0gmH- dBg%6Uc}}9wN!LHp+uZP<1lZmb&-MEn{sTQF0S5p8 literal 0 HcmV?d00001 diff --git a/__pycache__/hashJoinStrategy.cpython-313.pyc b/__pycache__/hashJoinStrategy.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d3cf74903b43e48bb7089b2561998b16270716dc GIT binary patch literal 1505 zcmb7E-ES0C6hHH^AMNhargm+ChE5C=*Ju-E8w^&W2#VX-2WHox9lV*H-Y!$8GwZ!G z3ZxGtCWcK+@P(u#CiqzY1AX#eV8e&x2A<%BH+3QU=sB~yN`VJG55Ifvz2~0qb9<%I zC?LIltGs?%2e?n0A!P;l z&!rk+%nMv88Ixq#Lb|9ve(#9WkX%UTSm1k~JI5n0+2CO;okr+8wi{e%CZgrM?}xme zgnrnvj=Qnj#Kbx8CTlIX$*a!UrvjaCpBGd~wfpH5%nuzV2jm38Ul-wSzSPNe^V3_C z+l5>CY7bAr(+CGdDNEDzDV|cA8gOcO_r$s~tQx$9a_%(13YkgC)}H_7HN0II*y7s1 z8lEpr>TI3x1vt46ASA8X)W8lnHL_!yZW`Lqjs+iC00ppMCGB^*u47l7*^R!WvREAW zPrevW_@e(0U-V~v!PYXDFU(NIEb3Y-jA9GhtR0D%uUc!7u&}Ru={5tdGB`v$uH-}s z{S{OjHFDyd$J?$>k=I&1Hy*_i~r}{6>&rWyd!y6N|>&4oGseN1V zwau%W-Kkf%Ke;(|_|gY=isP4;I!nJ6XS>DOA9A;gFaK`9^qY^eFtV$Y>lD5%Jt)s? z)vq~Moo@M+?ZY?Ahc2Di`6zR{IQNGEFIEM0?~hQ)(-hLMF{VZt+lW?^fcPTA!E=Mb z%@|{AzL0T%a}-95rSs8`w2bo@yRq*vH;#qh#Dw99s?uOuJ&q&HDq25N)T;0F(?oqI z2q=5~S^5SZ>sn^v&+KUCU=I*dCsUzi{32!rZ%5LPBl-^JX=>RzR+T7x(5dynY*-u-)%kyT+)Ys1H2ta A-T(jq literal 0 HcmV?d00001 diff --git a/__pycache__/manager.cpython-313.pyc b/__pycache__/manager.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6377f6b2b85657553b407688e4aaf94ef5abc4f0 GIT binary patch literal 1452 zcmb7D&ui2`6rRauyVGsft<_?GA=_e=wOTy1Af*Vl#e>y?jRnELklm&+b(__h1X@o$ z2@2BFg2(k{|D1wF8TI7JTX7YyzBfr~TYAueyuA7HUf%bY zlPxoKI@iEy5u4a_k=&(%R?s&V4PgwBF=FS2h;2?oHZGC#jcWcox>c&IIahjiB;3gJ zx0dRNX6x|p4*_WrhX`sDVc1mUY{N094E*o9De~#g)VnS_?-U&7uqh)Cc@Wj5@ou{? zL`2bMV0-LtVfn>sk1E`EL)Z7jcPyruOo`M}u9^z^Ie0p~U|Qr+Z$raqe6mZIcBv?U zziTK{dW|)`k(gAesQdFX&WiMebmkgC{i(Citj8N(7)fU(3>@2Syr{*(ckTqC_b?8F z(621Gky`^zoZIo5@7BC2XCt9F`D{xu&Vw+BI9I(X@yQIqW;@7Zn|vCmyeW0SCI8-s z=!S5CM=g55r2It*eAOepC_5r`E-QQlWSEBPh_e`9cpiHq@Z_=TsGwGH2AmdIAGGSnAYhq z&?gTdC*rV5weS)vRg!@zc$;25jyzS)^iF|3h>>WHh&{N+2KU*prmF{VsanE858Vw9 z2EEAnMsqc8pl@+FZMTtrDRaIS2pKit@`O#!1rCouA;dW_%3KZVk;=iH76S-gL^Fn8 z`Z<@88wGXlMv(|=KviSk)H%!2VLmjJM<^om)i3E ze0%fVBw`ak7|mb)1wkW8WB9+SsVuzO*%+Q4YAu*CF1cY~poAOb4Yedu%(O{d<>PH#7Z)0y?o zj6%Z$PlioQcp@o@2|m`p!*@diBDsMldErf6h(3DG%x>dQ z>qJOTL~4w4*LR|b^N1XqDA&~Lho|gzBxGct^*#41`&{TI8zP7!yB&D8<@lSOM0V{9 zULcl}zze$OIVW~HSU>xNWWDQjM8ghVobO!killc{=1U4PHwvG^i6#;Lxdso5m40ET zIJI?fyYy?ZF~C)D8R1Z$ygDPbPZIVFGHY{si?R@s8-lxf-(#ssF=J>;%3C`C&8O1&_ zCkQ!DsgUJaMFz%B?77^DW9fCUTu4e)8S>K=NLpTJS)Hg+&tyfSu9E~*yNoa2!848J znt$iVbH@gNkOr9^YT>8wh7`Rp^5T#_fVqsP+{ahu!_QD=4_PKckNzo1=2H`Lnlwr~ o4L}tavSd%oqqs(qMKy#!bjH{tXg-3so*Mhuu`T}@;E-PY7cIO`Qvd(} literal 0 HcmV?d00001 diff --git a/__pycache__/setup.cpython-313.pyc b/__pycache__/setup.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..73a0df5187a9334a050d9402e0ba5495458e10fc GIT binary patch literal 7291 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 X#Csm(9=-eU-Ou>Gwx95anfLw&9<;Jo literal 0 HcmV?d00001 diff --git a/__pycache__/sortMergeStrategy.cpython-313.pyc b/__pycache__/sortMergeStrategy.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aef1d9aa4306902a3dc22690c55aa5246239d12e GIT binary patch literal 1516 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 z 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 o{NRX)NIH@nLiZ 10min + #join_manager.execute() + join_manager.setup_db("unique-publ") + join_manager.execute() + join_manager.setup_db("cl-both") + join_manager.execute() + #Aufgabe 2 + join_manager.setStrategy(NestedInnerLoopStrategy(conn_postsql, db_post, queries_postgres["with_index"])) + join_manager.setup_db("nc-publ") + join_manager.execute() + join_manager.setup_db("nc-auth") + join_manager.execute() + join_manager.setup_db("nc-both") + join_manager.execute() + #Aufgabe 3 + join_manager.setStrategy(SortMergeStrategy(conn_postsql, db_post, queries_postgres["no_index"])) + join_manager.setup_db("no-index") + join_manager.execute() + join_manager.setQueries(queries_postgres["with_index"]) + join_manager.setup_db("nc-both") + join_manager.execute() + join_manager.setup_db("cl-both") + #Aufgabe 4 + join_manager.setStrategy(HashJoinStrategy(conn_postsql, db_post, queries_postgres["no_index"])) + join_manager.setup_db("no-index") + join_manager.execute() + + + + \ No newline at end of file diff --git a/manager.py b/manager.py new file mode 100644 index 0000000..32bf788 --- /dev/null +++ b/manager.py @@ -0,0 +1,20 @@ +from baseStrategy import BaseStrategy +import setup + +class Manager: + def __init__(self, strategy: BaseStrategy, ): + self.strategy = strategy + + def setStrategy(self, strategy: BaseStrategy): + self.strategy = strategy + + def setQueries(self, queries: dict[str, str]): + self.strategy.set_queries(queries) + + # Only Postgresql and MariaDb available at the moment + def setup_db(self, index_config): + setup.setupBoth(index_config) + + def execute(self): + self.strategy.run() + \ No newline at end of file diff --git a/nestedInnerLoopStrategy.py b/nestedInnerLoopStrategy.py new file mode 100644 index 0000000..ffae320 --- /dev/null +++ b/nestedInnerLoopStrategy.py @@ -0,0 +1,18 @@ +from repositories.nested_loop_resolver import resolve +from baseStrategy import BaseStrategy + +class NestedInnerLoopStrategy(BaseStrategy): + def __init__(self, conn, db_name, all_queries): + super().__init__(conn, db_name, all_queries) + + def run(self): + if self.db_name not in resolve: + raise Exception("No Inner Loop Resolver Found") + + for disable in resolve[self.db_name]["disable"]: + self.cursor.execute(disable) + + super().run() + + for reset in resolve[self.db_name]["reset"]: + self.cursor.execute(reset) \ No newline at end of file diff --git a/repositories/__pycache__/all_queries.cpython-313.pyc b/repositories/__pycache__/all_queries.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dc0d7e928b0bf77109ac1a894a2c52368bf2e69d GIT binary patch literal 1334 zcmey&%ge<81P`x@W~H(*FgylvV1Nb6_-p`VOl1gW2xbgs(qjr{4rT$|h>@28lAJb7*o_ZQ@cu0*-!;K9Nzb3c;>EuFfF}d5O8HItnG3B{``m%G`qdeH9!_ zOEMHZ-TnN7TopY1TwEg*G%`~v;uC?w@dc$xnJJn&3IU}_IVfttN`SICP$ekFhI_aI z%>tRL2UOzeqF@U)0K&0`E3LW!XM&uL=H|iSTA-_3AU*+wA;F^sCp@%fTq%s|2(#Ry`9cPff5;)9n|D@hI`j=cQ% z%)FG;id$UenZQ&AW>?jtIM+2Iz{k@(PcF?(%_}L63C+ul z2~NzZN-8Z%k8#V)OART_%gjqxa7iplOiC!k`J;kCNU=` z9%`9hLFFwDo80`A(wtPgB5t5{j6hr*03<#zGcq!MU}F*C`M?DvKJs!4vVD+3;tI2U al$I1^YT*4~g(QkikqFa827w|@prHVUsbseR literal 0 HcmV?d00001 diff --git a/repositories/__pycache__/hash_join_resolver.cpython-313.pyc b/repositories/__pycache__/hash_join_resolver.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..45417641a61ead261980d4cba9e0afbf8c2dc67a GIT binary patch literal 572 zcmZuu!A{#i5M4VY4vCNoQIJ4A)o(xQ`I;A zfD0eN-}q7q`Pv@{$`5qinktCSVKg&u-@KWf#oAg887u#6Ufx;={mPRkTPcFY8x!0i zjIj0A#x^b)ztXXB8COi?;A)Ytc5H=$TDzWX;lZ#4f_fZW0XpJR&RX4;oJ^AKB`5?H zz@=oOz?xqMOXw3Z*?d<1M{3)dGiEv$$;t{eM9FSWm$Qh4ECJ=}?=14C-JM**^{GDv zcS`jX#$73PlFj__62##ec=sTA{of}2!TIUv!|*Tqf>oeqq}ojCC@|w(@yrRSVsz|X zw5`lBCCRVh9xd{3&7gNkMjDhRXPo)pNMHJK2qMyCBpAVzCtj=qa?S({W5Gnw>eGmN zR0BDUCjs@~JyBr9SR@q#P4dm$KZ6xYsx$kMRgXeBjyW8w{LbdWNS_!tFIko~ub}2$ z`tD=exOmuTr@Os$z5iG)H7fHOYMxnX?`zs14;y>w{-<>Pvq4@}9_y=h`^HgK)8jWA CE4I%7 literal 0 HcmV?d00001 diff --git a/repositories/__pycache__/nested_loop_resolver.cpython-313.pyc b/repositories/__pycache__/nested_loop_resolver.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..86c68bbf32f3c76217b14254dc960f041223f59c GIT binary patch literal 511 zcmZuu%}&BV5Z;!bBE&=?m}oq3k`N6-;zc7S2zXKs7H*p~TNuhh+pW8;#@>7gAHs`| zVtO>a`T`hUz-5Ngg(yFk@Bs|zCIlwL0sFm+~ z8`ZTi-1|fSifU@Cjj2dX;tU4?et43|ndei7hQJN+ME%jURW)rknj0<%AI65wnAeh% zRKvr6Uw3;q?cwb}cF%iE_?GPaV8@z6I3;7VUsGaDQp|pYH?&NCC$>5lcqo7id~MUw z9Cz6$aKQBi9=a6k#174XTlj{$FbG`gT9q#GiAecl9~BtzL|V8%W}D78TAtikfgfOjjjLKNB!J9NT= ziEiCKMbb)&ftQ!2Lg_?;dS tuple[str, mariadb.Connection | psycopg2.extensions.connection]: + connection = None + db_name = "None" + if not maria: + connection = psycopg2.connect( + dbname=os.getenv("POSTGRES_DB"), + user=os.getenv("POSTGRES_USER"), + password=os.getenv("POSTGRES_PASS"), + host="localhost", + port="5432", + ) + db_name = "postgresql" + + else: + connection = mariadb.connect( + user=os.getenv("MARIA_USER"), + password=os.getenv("MARIA_PASS"), + host="localhost", + port=3306, + database=os.getenv("MARIA_DB"), + local_infile=True, + ) + db_name = "mariadb" + + return (db_name, connection) + + +def _create_tables_force(cursor): # type: ignore + + cursor.execute("DROP TABLE IF EXISTS auth") + cursor.execute("DROP TABLE IF EXISTS publ") + + cursor.execute("""CREATE TABLE auth ( + name VARCHAR(49), + pubid VARCHAR(129) + + )""") + + cursor.execute(""" + CREATE TABLE publ ( + pubid VARCHAR(129), + type VARCHAR(13), + title VARCHAR(700), + booktitle VARCHAR(132), + year VARCHAR(4), + publisher VARCHAR(196) + ) + """) + + +def setupBoth(index_config): + create_distribute_postgres(index_config) + create_distribute_maria(index_config) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument( + "index", choices=INDEX_CONFIGS.keys(), help="Index configuration to apply" + ) + args = parser.parse_args() + + print(f"Index: {args.index}") + setupBoth(args.index) diff --git a/sortMergeStrategy.py b/sortMergeStrategy.py new file mode 100644 index 0000000..c04efc7 --- /dev/null +++ b/sortMergeStrategy.py @@ -0,0 +1,18 @@ +from repositories.sort_merge_resolver import resolve +from baseStrategy import BaseStrategy + +class SortMergeStrategy(BaseStrategy): + def __init__(self, conn, db_name, all_queries): + super().__init__(conn, db_name, all_queries) + + def run(self): + if self.db_name not in resolve: + raise Exception("Sort-Merge Join not supported for " + self.db_name) + + for disable in resolve[self.db_name]["disable"]: + self.cursor.execute(disable) + + super().run() + + for reset in resolve[self.db_name]["reset"]: + self.cursor.execute(reset) \ No newline at end of file