Raffaele Montella

107 papers B 5C 13Misc 2Journal 29Unranked 51
YearRankTypeTitle / Venue / Authors
2026 J jnl
Future Gener. Comput. Syst.
Ciro Giuseppe De Vita, Gennaro Mellone, Diana Di Luccio, Javier García Blas, Francesca Barchiesi, Raffaele Montella
2026 conf
EuroMLSys@EuroSys
Theodoros Aslanidis, Sokol Kosta, Raffaele Montella, Spyros Lalis, Dimitris Chatzopoulos
2026 J jnl
Future Gener. Comput. Syst.
Simone Perrotta, Ciro Giuseppe De Vita, Gennaro Mellone, Marco Edoardo Santimaria, Massimo Torquati, Javier García Blas, Raffaele Montella
2025 conf
eScience
Diana Di Luccio, Ciro Giuseppe De Vita, Gennaro Mellone, Dante D. Sánchez-Gallegos, Pasquale Corvino, Mario Di Sarno, Pasquale De Luca, Emanuel Di Nardo, Vincenzo Capozzi, Vincenzo Bucciero, Raffaele Montella
2025 conf
ISD
Carmine Coppola, Simone Perrotta, Ciro Giuseppe De Vita, Gennaro Mellone, Diana Di Luccio, Raffaele Montella, José Carlos Paiva, Ricardo Queirós, Robertas Damasevicius, Rytis Maskeliunas, Jakub Swacha
2025 conf
SC Workshops
Dante D. Sánchez-Gallegos, José Luis González Compeán, Jesús Carretero, Raffaele Montella
2025 conf
eScience
Simone Perrotta, Marco Edoardo Santimaria, Ciro Giuseppe De Vita, Massimo Torquati, Diana Di Luccio, Pasquale Corvino, Antonella Pirozzi, Raffaele Montella
2025 ed.
Euro-Par Workshops (1)
Silvina Caíno-Lores, Demetris Zeinalipour, Thaleia Dimitra Doudali, David E. Singh, Gracia Ester Martín Garzón, Leonel Sousa, Diego Andrade, Tommaso Cucinotta, Donato D'Ambrosio, Patrick Diehl, Manuel F. Dolz, Admela Jukan, Raffaele Montella, Matteo Nardelli, Marta Garcia-Gasulla, Sarah Neuwirth
2025 ed.
Euro-Par Workshops (2)
Silvina Caíno-Lores, Demetris Zeinalipour, Thaleia Dimitra Doudali, David E. Singh, Gracia Ester Martín Garzón, Leonel Sousa, Diego Andrade, Tommaso Cucinotta, Donato D'Ambrosio, Patrick Diehl, Manuel F. Dolz, Admela Jukan, Raffaele Montella, Matteo Nardelli, Marta Garcia-Gasulla, Sarah Neuwirth
2025 conf
BigHPC@ITADATA
Attilio Di Vicino, Giuseppe Fiorillo, Luigi Galluccio, Raffaele Montella
2025 C conf
PDP
Gennaro Mellone, Ciro Giuseppe De Vita, Emanuel Di Nardo, Giuseppe Coviello, Diana Di Luccio, Pietro Patrizio Ciro Aucelli, Angelo Ciaramella, Raffaele Montella
2025 conf
ICPEC
Tomas Blazauskas, Arnoldas Rauba, Jakub Swacha, Raffaele Montella, Rytis Maskeliunas
2025 conf
eScience
Carmine Coppola, Guido Davoli, Federico Fabiano, Ciro Giuseppe De Vita, Diana Di Luccio, Pasquale Corvino, Antonella Pirozzi, Andrea Alessandri, Raffaele Montella
2025 conf
Ital-IA
Pietro Patrizio Ciro Aucelli, Francesco Camastra, Angelo Ciaramella, Emanuel Di Nardo, Alessio Ferone, Antonio Maratea, Raffaele Montella, Antonino Staiano
2024 J jnl
Int. J. Appl. Earth Obs. Geoinformation
Juan Armando Barron-Lugo, Ivan López-Arévalo, José Luis González Compeán, M. Susana Alvarado-Barrientos, Jesús Carretero, Víctor Jesús Sosa Sosa, Raffaele Montella
2024 J jnl
J. Supercomput.
Diana Di Luccio, Ciro Giuseppe De Vita, Aniello Florio, Gennaro Mellone, Catherine Alessandra Torres Charles, Guido Benassai, Raffaele Montella
2024 conf
PPAM (2)
Gianluca De Lucia, Giuliano Laccetti, Marco Lapegna, Raffaele Montella, Diego Romano
2024 conf
AIED Companion (1)
Raffaele Montella, Ciro Giuseppe De Vita, Gennaro Mellone, Tullio Ciricillo, Dario Caramiello, Diana Di Luccio, Sokol Kosta, Robertas Damasevicius, Rytis Maskeliunas, Ricardo Queirós, Jakub Swacha
2024 C conf
PDP
Gennaro Mellone, Ciro Giuseppe De Vita, Giuseppe Coviello, Pietro Patrizio Ciro Aucelli, Angelo Ciaramella, Raffaele Montella
2024 ed.
itaDATA
Nicola Bena, Beniamino Di Martino, Antonio Maratea, Alessandro Sperduti, Emanuel Di Nardo, Angelo Ciaramella, Raffaele Montella, Claudio A. Ardagna
2024 ed.
WiDE@EuroSys
Iacopo Colonnelli, Henri Casanova, Raffaele Montella
2024 conf
Ital-IA
Paola Barra, Francesco Camastra, Angelo Ciaramella, Ciro Giuseppe De Vita, Emanuel Di Nardo, Raffaele Montella, Gennaro Mellone, Vincenzo Mariano Scarrica, Antonino Staiano
2024 J jnl
Concurr. Comput. Pract. Exp.
Marco Lapegna, Valeria Mele, Raffaele Montella, Lukasz Szustak
2024 conf
FRAME@HPDC
Marco Lapegna, Giuliano Laccetti, Raffaele Montella, Diego Romano
2023 C ed.
PDP
Raffaele Montella, Javier García Blas, Daniele D'Agostino
2023 C conf
PDP
Gennaro Mellone, Ciro Giuseppe De Vita, Dante Domizzi Sánchez-Gallegos, Diana Di Luccio, Gaia Mattei, Francesco Peluso, Pietro Patrizio Ciro Aucelli, Angelo Ciaramella, Raffaele Montella
2023 C conf
PDP
Raffaele Montella, Diana Di Luccio, Ciro Giuseppe De Vita, Gennaro Mellone, Marco Lapegna, Gloria Ortega López, Livia Marcellino, Enrico Zambianchi, Giulio Giunta
2023 conf
Ital-IA
Francesco Camastra, Angelo Ciaramella, Emanuel Di Nardo, Alessio Ferone, Antonio Maratea, Raffaele Montella, Antonino Staiano
2023 conf
Euro-Par Workshops
Jesús Carretero, Javier García Blas, André Brinkmann, Marc-Andre Vef, Jean-Baptiste Besnard, Massimo Torquati, Yi Ju, Raffaele Montella
2023 conf
WIRN
Gennaro Mellone, Emanuel Di Nardo, Ciro Giuseppe De Vita, Raffaele Montella, Pietro Patrizio Ciro Aucelli, Angelo Ciaramella
2023 C conf
PDP
Raffaele Montella, Angelo Ciaramella, Marco Lapegna, Marco Danelutto, Dora Blanco Heras
2023 C conf
PDP
Raffaele Montella, Angelo Ciaramella, Marco Lapegna, Marco Danelutto, Dora Blanco Heras
2023 C conf
PDP
Ciro Giuseppe De Vita, Gennaro Mellone, Aniello Florio, Catherine Alessandra Torres Charles, Diana Di Luccio, Marco Lapegna, Guido Benassai, Giorgio Budillon, Raffaele Montella
2023 J jnl
IEEE Trans. Serv. Comput.
Dante D. Sánchez-Gallegos, José Luis González, Jesús Carretero, Heidy Marisol Marín-Castro, Andrei Tchernykh, Raffaele Montella
2022 B conf
e-Science
Ciro Giuseppe De Vita, Gennaro Mellone, Diana Di Luccio, Sokol Kosta, Angelo Ciaramella, Raffaele Montella
2022 B conf
CCGRID
Raffaele Montella, Diana Di Luccio, Ciro Giuseppe De Vita, Gennaro Mellone, Marco Lapegna, Giuliano Laccetti, Sokol Kosta, Giulio Giunta
2022 conf
PPAM (2)
Jesús Carretero, David Exposito Singh, Alberto Cascajo, Raffaele Montella
2022 conf
ISD
Jakub Swacha, Filip Miernik, Marzena Sylwia Ignasiak, Raffaele Montella, Ciro Giuseppe De Vita, Gennaro Mellone, Ricardo Queirós, José Carlos Paiva, José Paulo Leal, Sokol Kosta
2022 B conf
CCGRID
Giuliano Laccetti, Marco Lapegna, Raffaele Montella
2022 conf
PETRA
Pasquale De Luca, Diana Di Luccio, Ardelio Galletti, Giulio Giunta, Livia Marcellino, Raffaele Montella
2021 J jnl
Sensors
Ivan López-Arévalo, José Luis González Compeán, Mariana Hinojosa-Tijerina, Cristhian Martinez-Rendon, Raffaele Montella, José-Lázaro Martínez-Rodríguez
2021 J jnl
Environ. Model. Softw.
Juan Armando Barron-Lugo, José Luis González Compeán, Jesús Carretero, Ivan López-Arévalo, Raffaele Montella
2021 J jnl
Future Gener. Comput. Syst.
Dante Domizzi Sánchez-Gallegos, Diana Di Luccio, Sokol Kosta, José Luis González Compeán, Raffaele Montella
2021 J jnl
Concurr. Comput. Pract. Exp.
Kenneth Kwame Azumah, Lene Tolstrup Sørensen, Raffaele Montella, Sokol Kosta
2021 J jnl
Concurr. Comput. Pract. Exp.
Sokol Kosta, Giuliano Laccetti, Marco Lapegna, Valeria Mele, Raffaele Montella
2021 J jnl
Simul. Model. Pract. Theory
Raffaele Montella, Giancarlo Fortino, Eleni Karatza
2021 J jnl
Future Gener. Comput. Syst.
Anirban Mandal, Raffaele Montella
2021 conf
CF
Marco Aldinucci, Giovanni Agosta, Antonio Andreini, Claudio Agostino Ardagna, Andrea Bartolini, Alessandro Cilardo, Biagio Cosenza, Marco Danelutto, Roberto Esposito, William Fornaciari, Roberto Giorgi, Davide Lengani, Raffaele Montella, Mauro Olivieri, Sergio Saponara, Daniele Simoni, Massimo Torquati
2021 J jnl
Concurr. Comput. Pract. Exp.
Diana Di Luccio, Sokol Kosta, Aniello Castiglione, Antonio Maratea, Raffaele Montella
2020 conf
ICPEC
Jakub Swacha, Ricardo Queirós, José Carlos Paiva, José Paulo Leal, Sokol Kosta, Raffaele Montella
2020 J jnl
Future Gener. Comput. Syst.
Miguel Santiago-Duran, José Luis González Compeán, André Brinkmann, Hugo G. Reyes-Anastacio, Jesús Carretero, Raffaele Montella, Gregorio Toscano Pulido
2020 J jnl
IEEE Access
Diana Di Luccio, Angelo Riccio, Ardelio Galletti, Giuliano Laccetti, Marco Lapegna, Livia Marcellino, Sokol Kosta, Raffaele Montella
2020 J jnl
Inf.
Jakub Swacha, José Carlos Paiva, José Paulo Leal, Ricardo Queirós, Raffaele Montella, Sokol Kosta
2020 J jnl
Future Gener. Comput. Syst.
Raffaele Montella, Alison Brizius, Diana Di Luccio, Cheryl H. Porter, Joshua Elliott, Ravi K. Madduri, David Kelly, Angelo Riccio, Ian T. Foster
2019 conf
SITIS
Dante D. Sánchez-Gallegos, Diana Di Luccio, José Luis González Compeán, Raffaele Montella
2019 J jnl
Concurr. Comput. Pract. Exp.
Giuliano Laccetti, Marco Lapegna, Valeria Mele, Raffaele Montella
2019 conf
IDCS
Antonio Mentone, Diana Di Luccio, Luca Landolfi, Sokol Kosta, Raffaele Montella
2019 conf
CAIP (2)
Rosario Carbone, Raffaele Montella, Fabio Narducci, Alfredo Petrosino
2019 ed.
IDCS
Raffaele Montella, Angelo Ciaramella, Giancarlo Fortino, Antonio Guerrieri, Antonio Liotta
2019 conf
WF-IoT
Dante D. Sánchez-Gallegos, Diana Di Luccio, José Luis González Compeán, Raffaele Montella
2019 conf
PPAM (2)
Raffaele Montella, Diana Di Luccio, Sokol Kosta, Aniello Castiglione, Antonio Maratea
2019 conf
IDCS
Raffaele Montella, Diana Di Luccio, Angelo Ciaramella, Ian T. Foster
2019 J jnl
Future Gener. Comput. Syst.
Raffaele Montella, Diana Di Luccio, Livia Marcellino, Ardelio Galletti, Sokol Kosta, Giulio Giunta, Ian T. Foster
2018 B conf
CCGrid
Giuliano Laccetti, Marco Lapegna, Raffaele Montella
2018 conf
INFOCOM Workshops
Raffaele Montella, Mario Ruggieri, Sokol Kosta
2018 B conf
IC2E
Raffaele Montella, Sokol Kosta, Ian T. Foster
2018 conf
EdgeSys@MobiSys
Dimitris Deyannis, Rafail Tsirbas, Giorgos Vasiliadis, Raffaele Montella, Sokol Kosta, Sotiris Ioannidis
2018 J jnl
Concurr. Comput. Pract. Exp.
Raffaele Montella, Livia Marcellino, Ardelio Galletti, Diana Di Luccio, Sokol Kosta, Giuliano Laccetti, Giulio Giunta
2018 J jnl
Concurr. Comput. Pract. Exp.
Giuliano Laccetti, Marco Lapegna, Raffaele Montella, Sokol Kosta
2018 conf
IDCS
Raffaele Montella, Diana Di Luccio, Sokol Kosta, Giulio Giunta, Ian T. Foster
2017 conf
EUSPN/ICTH
Ardelio Galletti, Livia Marcellino, Raffaele Montella, Vincenzo Santopietro, Sokol Kosta
2017 J jnl
Concurr. Comput. Pract. Exp.
Raffaele Montella, Sokol Kosta, David Oro, Javier Vera, Carles Fernández, Carlo Palmieri, Diana Di Luccio, Giulio Giunta, Marco Lapegna, Giuliano Laccetti
2017 J jnl
Int. J. Parallel Program.
Giuliano Laccetti, Ian T. Foster, Marco Lapegna, Paul Messina, Raffaele Montella, Almerico Murli
2017 conf
RTSI
Guido Benassai, Diana Di Luccio, Maurizio Migliaccio, V. Cordone, Giorgio Budillon, Raffaele Montella
2017 conf
HEALTHINF
Ardelio Galletti, Raffaele Montella, Livia Marcellino, Angelo Riccio, Diana Di Luccio, Alison Brizius, Ian T. Foster
2017 J jnl
Int. J. Parallel Program.
Raffaele Montella, Giulio Giunta, Giuliano Laccetti, Marco Lapegna, Carlo Palmieri, Carmine Ferraro, Valentina Pelliccia, Cheol-Ho Hong, Ivor T. A. Spence, Dimitrios S. Nikolopoulos
2017 conf
PPAM (2)
Luisa D'Amore, Rossella Arcucci, Yi Li, Raffaele Montella, Andrew Moore, Luke Phillipson, Ralf Toumi
2017 conf
WORKS@SC
Raffaele Montella, Diana Di Luccio, Livia Marcellino, Ardelio Galletti, Sokol Kosta, Alison Brizius, Ian T. Foster
2017 conf
PPAM (2)
Giuliano Laccetti, Marco Lapegna, Valeria Mele, Raffaele Montella
2017 conf
EUSPN/ICTH
Diana Di Luccio, Ardelio Galletti, Livia Marcellino, Angelo Riccio, Raffaele Montella, Alison Brizius
2017 conf
PPAM (2)
Livia Marcellino, Raffaele Montella, Sokol Kosta, Ardelio Galletti, Diana Di Luccio, Vincenzo Santopietro, Mario Ruggieri, Marco Lapegna, Luisa D'Amore, Giuliano Laccetti
2017 conf
ICIAP Workshops
Raffaele Montella, Alfredo Petrosino, Vincenzo Santopietro
2016 conf
WORKS@SC
Raffaele Montella, Alison Brizius, Diana Di Luccio, Cheryl H. Porter, Joshua Elliott, Ravi K. Madduri, David Kelly, Angelo Riccio, Ian T. Foster
2016 C conf
ICA3PP
Raffaele Montella, Carmine Ferraro, Sokol Kosta, Valentina Pelliccia, Giulio Giunta
2016 conf
Cloud Forward
Lara Lopez, Francisco Javier Nieto, Terpsichori Helen Velivassaki, Sokol Kosta, Cheol-Ho Hong, Raffaele Montella, Iakovos Mavroidis, Carles Fernández
2016 conf
SITIS
Raffaele Montella, Diana Di Luccio, Pasquale Troiano, Angelo Riccio, Alison Brizius, Ian T. Foster
2015 J jnl
Concurr. Comput. Pract. Exp.
Raffaele Montella, David Kelly, Wei Xiong, Alison Brizius, Joshua Elliott, Ravi K. Madduri, Ketan Maheshwari, Cheryl H. Porter, Peter Vilter, Michael Wilde, Meng Zhang, Ian T. Foster
2015 conf
PPAM (2)
Raffaele Montella, Giulio Giunta, Giuliano Laccetti, Marco Lapegna, Carlo Palmieri, Carmine Ferraro, Valentina Pelliccia
2014 conf
GCE@SC
Raffaele Montella, Alison Brizius, Joshua Elliott, David Kelly, Ravi K. Madduri, Ketan Maheshwari, Cheryl H. Porter, Peter Vilter, Michael Wilde, Wei Xiong, Meng Zhang, Ian T. Foster
2014 J jnl
Clust. Comput.
Raffaele Montella, Giulio Giunta, Giuliano Laccetti
2013 J jnl
New Gener. Comput.
Jesús Carretero, Raffaele Montella
2013 conf
PPAM (1)
Giuliano Laccetti, Raffaele Montella, Carlo Palmieri, Valentina Pelliccia
2012 C conf
ISPA
Roberto Di Lauro, Francesca Lucarelli, Raffaele Montella
2012 conf
IPAW
Quan Pham, Tanu Malik, Ian T. Foster, Roberto Di Lauro, Raffaele Montella
2012 C conf
ISPA
Roberto Di Lauro, Flora Giannone, Luigi Ambrosio, Raffaele Montella
2011 conf
PPAM (1)
Raffaele Montella, Giuseppe Coviello, Giulio Giunta, Giuliano Laccetti, Florin Isaila, Javier García Blas
2010 conf
Euro-Par (1)
Giulio Giunta, Raffaele Montella, Giuseppe Agrillo, Giuseppe Coviello
2010 ch.
Handbook of Cloud Computing
Raffaele Montella, Giulio Giunta, Giuliano Laccetti
2010 ch.
Handbook of Cloud Computing
Raffaele Montella, Ian T. Foster
2008 conf
UPGRADE-CN
Raffaele Montella, Giuseppe Agrillo, Daniele Mastrangelo, Milena Menna
2008 C conf
APSCC
Giulio Giunta, Giuliano Laccetti, Raffaele Montella
2007 Misc conf
PPAM
Raffaele Montella, Giulio Giunta, Giuliano Laccetti
2007 Misc conf
PPAM
Raffaele Montella, Giulio Giunta, Angelo Riccio
2007 C conf
GPC
Raffaele Montella
2007 conf
UPGRADE-CN
Raffaele Montella, Giulio Giunta, Angelo Riccio
2007 J jnl
Environ. Model. Softw.
Giulio Giunta, Patrizio Mariani, Raffaele Montella, Angelo Riccio
2006 conf
Euro-Par
I. Ascione, Giulio Giunta, Patrizio Mariani, Raffaele Montella, Angelo Riccio
notebooks/redb-clickhouse-TEST.ipynb
← Index notebooks/redb-clickhouse-TEST.ipynb plaintext
Truncated preview: showing the first 16384 bytes out of 5988848 total.
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Definitions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "import clickhouse_connect"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "ch_TEST_client = clickhouse_connect.get_client(host='e.rationaledge.io', port=443, username='default', password='werioubTGwvf0-dsbv_', database='redb', verify=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "ch_TEST_BETA_client = clickhouse_connect.get_client(host='k.rationaledge.io', port=443, username='default', password='werioubTGwvf0-dsbv_', database='default', verify=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<bound method HttpClient.close_connections of <clickhouse_connect.driver.httpclient.HttpClient object at 0x105fd64d0>>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ch_TEST_BETA_client.close_connections"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<clickhouse_connect.driver.summary.QuerySummary at 0x11f900810>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ch_TEST_BETA_client.command(\"\"\"\n",
    "RENAME DATABASE redb TO orig_redb;\n",
    "\"\"\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## DB Creation (schema 2025-08-02)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "ch_TEST_client.command(\"\"\"\n",
    "CREATE DATABASE IF NOT EXISTS redb;\n",
    "\"\"\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Define General Tables"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "### CREATE FULL REDB DATABASE\n",
    "def create_redb_with_all_tables(client):\n",
    "    client.command(\"\"\"\n",
    "        CREATE DATABASE IF NOT EXISTS redb\n",
    "    \"\"\")\n",
    "    create_all_general_tables(client)\n",
    "    create_all_pe_tables(client)\n",
    "\n",
    "#### CREATE FULL TABLES\n",
    "def create_all_general_tables(client):\n",
    "    create_basic_properties_dbtable(client)\n",
    "    create_hashes_dbtable(client)\n",
    "    create_capa_dbtable(client)\n",
    "    create_die_dbtable(client)\n",
    "    create_extra_findings_dbtable(client)\n",
    "\n",
    "\n",
    "##################################\n",
    "#### CREATE INDIVIDUAL TABLES ####\n",
    "##################################\n",
    "\n",
    "#### GENERAL TABLES ####\n",
    "# All tables have SETTINGS index_granularity = 8192\n",
    "def create_basic_properties_dbtable(client):\n",
    "    # Create samples_metadata table\n",
    "    client.command(\"\"\"\n",
    "        CREATE TABLE IF NOT EXISTS redb_basic_properties (\n",
    "            sha256 FixedString(64), -- primary key\n",
    "            md5 FixedString(32),\n",
    "            sha1 FixedString(40),\n",
    "            filename Nullable(String),\n",
    "            sample_name String,\n",
    "            filesize UInt64,\n",
    "            file_entropy Float64,\n",
    "            filetype LowCardinality(String),\n",
    "            filetype_mime LowCardinality(String),\n",
    "            filetype_magika LowCardinality(String),\n",
    "            analysis_date DateTime64(3, 'UTC'),\n",
    "        ) ENGINE = ReplacingMergeTree(analysis_date)\n",
    "        PRIMARY KEY (sha256)\n",
    "        ORDER BY (sha256)\n",
    "    \"\"\")\n",
    "\n",
    "def create_hashes_dbtable(client):\n",
    "    # Create hashes table\n",
    "    client.command(\"\"\"\n",
    "        CREATE TABLE IF NOT EXISTS redb_hashes (\n",
    "            sha256 FixedString(64), -- primary key\n",
    "            md5 FixedString(32),\n",
    "            sha1 FixedString(40),\n",
    "            ssdeep_hash Nullable(String),\n",
    "            tlsh_hash Nullable(String),\n",
    "            authentihash Nullable(String),\n",
    "            imphash Nullable(String),\n",
    "            impfuzzy Nullable(String),\n",
    "            typerefhash Nullable(String),\n",
    "            richhash Nullable(String),\n",
    "            richpe_hash Nullable(String),\n",
    "            richpv_hash Nullable(String),\n",
    "            richpv_hash_sorted Nullable(String),\n",
    "            dhash Nullable(String),\n",
    "            analysis_date DateTime64(3, 'UTC')\n",
    "        ) ENGINE = ReplacingMergeTree(analysis_date)\n",
    "        PRIMARY KEY (sha256)\n",
    "        ORDER BY (sha256)\n",
    "    \"\"\")\n",
    "\n",
    "def create_capa_dbtable(client):\n",
    "    # Create sample_capabilities table\n",
    "    client.command(\"\"\"\n",
    "        SET enable_json_type = 1;\n",
    "    \"\"\")\n",
    "    client.command(\"\"\"\n",
    "        -- Base table for CAPA analysis results\n",
    "        CREATE TABLE IF NOT EXISTS redb_capa (\n",
    "            sha256 FixedString(64),\n",
    "            md5 FixedString(32),\n",
    "            sha1 FixedString(40),\n",
    "            analysis_date DateTime64(3, 'UTC'),\n",
    "            -- Store full JSON dumps as strings for flexibility\n",
    "            capa_dump JSON CODEC(ZSTD(3)),\n",
    "            attack_dump JSON CODEC(ZSTD(3)),\n",
    "            mbc_dump JSON CODEC(ZSTD(3))\n",
    "        ) ENGINE = ReplacingMergeTree(analysis_date)\n",
    "        ORDER BY sha256;\n",
    "    \"\"\")\n",
    "\n",
    "    client.command(\"\"\"\n",
    "        -- Normalized table for capabilities and namespaces\n",
    "        CREATE TABLE IF NOT EXISTS redb_capa_capabilities (\n",
    "            sha256 FixedString(64),\n",
    "            md5 FixedString(32),\n",
    "            sha1 FixedString(40),\n",
    "            analysis_date DateTime64(3, 'UTC'),\n",
    "            namespace LowCardinality(String),\n",
    "            capability LowCardinality(String)\n",
    "        ) ENGINE = ReplacingMergeTree(analysis_date)\n",
    "        ORDER BY (sha256, namespace, capability);\n",
    "    \"\"\")\n",
    "\n",
    "    client.command(\"\"\"\n",
    "        -- Materialized view for capability statistics\n",
    "        CREATE MATERIALIZED VIEW IF NOT EXISTS redb_capa_capabilities_stats (\n",
    "            namespace LowCardinality(String),\n",
    "            capability LowCardinality(String),\n",
    "            samples_bitmap AggregateFunction(groupBitmap, UInt64),\n",
    "            occurrence_count UInt64\n",
    "        ) ENGINE = AggregatingMergeTree()\n",
    "        ORDER BY (namespace, capability)\n",
    "        AS SELECT\n",
    "            namespace,\n",
    "            capability,\n",
    "            groupBitmapState(cityHash64(sha256)) as samples_bitmap,\n",
    "            count() as occurrence_count\n",
    "        FROM redb_capa_capabilities\n",
    "        GROUP BY namespace, capability;\n",
    "    \"\"\")\n",
    "\n",
    "    client.command(\"\"\"\n",
    "        -- Normalized table for MITRE ATT&CK mappings\n",
    "        CREATE TABLE IF NOT EXISTS redb_capa_attack (\n",
    "            sha256 FixedString(64),\n",
    "            md5 FixedString(32),\n",
    "            sha1 FixedString(40),\n",
    "            analysis_date DateTime64(3, 'UTC'),\n",
    "            tactic LowCardinality(String),\n",
    "            technique LowCardinality(String),\n",
    "            technique_id LowCardinality(String)\n",
    "        ) ENGINE = ReplacingMergeTree(analysis_date)\n",
    "        ORDER BY (sha256, tactic, technique_id);\n",
    "    \"\"\")\n",
    "\n",
    "    client.command(\"\"\"\n",
    "        -- Materialized view for ATT&CK statistics\n",
    "        CREATE MATERIALIZED VIEW IF NOT EXISTS redb_capa_attack_stats (\n",
    "            tactic LowCardinality(String),\n",
    "            technique LowCardinality(String),\n",
    "            technique_id LowCardinality(String),\n",
    "            samples_bitmap AggregateFunction(groupBitmap, UInt64),\n",
    "            occurrence_count UInt64\n",
    "        ) ENGINE = AggregatingMergeTree()\n",
    "        ORDER BY (tactic, technique_id)\n",
    "        AS SELECT\n",
    "            tactic,\n",
    "            technique,\n",
    "            technique_id,\n",
    "            groupBitmapState(cityHash64(sha256)) as samples_bitmap,\n",
    "            count() as occurrence_count\n",
    "        FROM redb_capa_attack\n",
    "        GROUP BY tactic, technique, technique_id;\n",
    "    \"\"\")\n",
    "\n",
    "    client.command(\"\"\"\n",
    "        -- Normalized table for MBC mappings\n",
    "        CREATE TABLE IF NOT EXISTS redb_capa_mbc (\n",
    "            sha256 FixedString(64),\n",
    "            md5 FixedString(32),\n",
    "            sha1 FixedString(40),\n",
    "            analysis_date DateTime64(3, 'UTC'),\n",
    "            objective LowCardinality(String),\n",
    "            behavior LowCardinality(String),\n",
    "            behavior_id LowCardinality(String)\n",
    "        ) ENGINE = ReplacingMergeTree(analysis_date)\n",
    "        ORDER BY (sha256, objective, behavior_id);\n",
    "    \"\"\")\n",
    "\n",
    "    client.command(\"\"\"\n",
    "        -- Materialized view for MBC statistics\n",
    "        CREATE MATERIALIZED VIEW IF NOT EXISTS redb_capa_mbc_stats (\n",
    "            objective LowCardinality(String),\n",
    "            behavior LowCardinality(String),\n",
    "            behavior_id LowCardinality(String),\n",
    "            samples_bitmap AggregateFunction(groupBitmap, UInt64),\n",
    "            occurrence_count UInt64\n",
    "        ) ENGINE = AggregatingMergeTree()\n",
    "        ORDER BY (objective, behavior_id)\n",
    "        AS SELECT\n",
    "            objective,\n",
    "            behavior,\n",
    "            behavior_id,\n",
    "            groupBitmapState(cityHash64(sha256)) as samples_bitmap,\n",
    "            count() as occurrence_count\n",
    "        FROM redb_capa_mbc\n",
    "        GROUP BY objective, behavior, behavior_id;\n",
    "    \"\"\")\n",
    "\n",
    "def create_die_dbtable(client):\n",
    "    # Create sample_die table\n",
    "    client.command(\"\"\"\n",
    "        SET enable_json_type = 1;\n",
    "    \"\"\")\n",
    "    client.command(\"\"\"\n",
    "        CREATE TABLE IF NOT EXISTS redb_die (\n",
    "            sha256 FixedString(64),\n",
    "            md5 FixedString(32),\n",
    "            sha1 FixedString(40),\n",
    "            die_info JSON CODEC(ZSTD(3)),\n",
    "            analysis_date DateTime64(3, 'UTC')\n",
    "        ) ENGINE = ReplacingMergeTree(analysis_date)\n",
    "        PRIMARY KEY (sha256)\n",
    "        ORDER BY (sha256)\n",
    "    \"\"\")\n",
    "\n",
    "    client.command(\"\"\"\n",
    "        CREATE MATERIALIZED VIEW redb_die_mv\n",
    "        (\n",
    "            sha256 FixedString(64),\n",
    "            md5 FixedString(32),\n",
    "            sha1 FixedString(40),\n",
    "            analysis_date DateTime64(3, 'UTC'),\n",
    "            compiler LowCardinality(Nullable(String)),\n",
    "            compiler_full Nullable(String),\n",
    "            format LowCardinality(Nullable(String)),\n",
    "            format_full Nullable(String),\n",
    "            installer LowCardinality(Nullable(String)),\n",
    "            installer_full Nullable(String),\n",
    "            joiner LowCardinality(Nullable(String)),\n",
    "            joiner_full Nullable(String),\n",
    "            language LowCardinality(Nullable(String)),\n",
    "            language_full Nullable(String),\n",
    "            library LowCardinality(Nullable(String)),\n",
    "            library_full Nullable(String),\n",
    "            linker LowCardinality(Nullable(String)),\n",
    "            linker_full Nullable(String),\n",
    "            operation_system LowCardinality(Nullable(String)),\n",
    "            operation_system_full Nullable(String),\n",
    "            packer LowCardinality(Nullable(String)),\n",
    "            packer_full Nullable(String),\n",
    "            protector LowCardinality(Nullable(String)),\n",
    "            protector_full Nullable(String),\n",
    "            sfx LowCardinality(Nullable(String)),\n",
    "            sfx_full Nullable(String),\n",
    "            sign_tool LowCardinality(Nullable(String)),\n",
    "            sign_tool_full Nullable(String),\n",
    "            stub LowCardinality(Nullable(String)),\n",
    "            stub_full Nullable(String),\n",
    "            tool LowCardinality(Nullable(String)),\n",
    "            tool_full Nullable(String),   \n",
    "            -- overlay JSON CODEC(ZSTD(3)),\n",
    "            -- resource JSON CODEC(ZSTD(3)),\n",
    "            has_overlay UInt8,\n",
    "            has_resources UInt8,\n",
    "            is_packed UInt8\n",
    "        )\n",
    "        ENGINE = ReplacingMergeTree(analysis_date)\n",
    "        ORDER BY (sha256)\n",
    "        POPULATE\n",
    "        AS SELECT\n",
    "            sha256,\n",
    "            md5,\n",
    "            sha1,\n",
    "            analysis_date,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'compiler'), '') AS compiler,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'compiler(full)'), '') AS compiler_full,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'format'), '') AS format,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'format(full)'), '') AS format_full,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'installer'), '') AS installer,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'installer(full)'), '') AS installer_full,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'joiner'), '') AS joiner,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'joiner(full)'), '') AS joiner_full,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'language'), '') AS language,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'language(full)'), '') AS language_full,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'library'), '') AS library,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'library(full)'), '') AS library_full,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'linker'), '') AS linker,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'linker(full)'), '') AS linker_full,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'operation_system'), '') AS operation_system,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'operation_system(full)'), '') AS operation_system_full,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'packer'), '') AS packer,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'packer(full)'), '') AS packer_full,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'protector'), '') AS protector,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'protector(full)'), '') AS protector_full,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'sfx'), '') AS sfx,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'sfx(full)'), '') AS sfx_full,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'sign_tool'), '') AS sign_tool,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'sign_tool(full)'), '') AS sign_tool_full,\n",
    "            nullIf(JSONExtractString(toString(die_info), 'stub'), '') AS stub,\n",
    "            nullIf(JSONExtractString(toString(die_info),