Я исследую, может ли Turbodb c решить проблему для нас, когда дело доходит до огромного количества вставок в БД. Мы говорим о миллионах пакетных вкладышей. В настоящее время это намного медленнее, чем любые другие решения, которые я пробовал, например, вставки mongodb и функция pandas to_ sql. Я не уверен, что мне не хватает настройки или чего-то определенного c. Кто-нибудь имеет опыт работы с Turbodb c и, возможно, испытывал ту же проблему?
Суть кода в следующем
import turbodbc
connection = turbodbc.connect('astcdr', turbodb_options=options)
cursor = connection.cursor()
cursor.fast_executemany = True
// *** Measuring duration of operation
// Loading a big CSV
// *** Measuring duration of operation
// Mutate some data
// *** Measuring duration of operation
// Build the sql
// *** Measuring duration of operation
....
// Execute
cursor.executemany(sql, dataArray) <- this operation takes long
// *** Measuring duration of operation
My odb c .ini файл выглядит следующим образом
[astcdr]
Description=MySQL connection to database
Driver=MySQL
Database=test
Server=mysql_container
User=test
Password=test
Port=3306
Мой odbcinst.ini выглядит следующим образом
[ODBC Drivers]
MySQL ODBC 8.0=Installed
[MySQL]
Driver=/var/www/mysql-connector-odbc-8.0.19-linux-debian10-x86-64bit/lib/libmyodbc8w.so
UsageCount=2
Я устанавливаю следующее, из-за чего pybind11 завершается с ошибкой во время docker сборки , но он устанавливается, когда я монтирую контейнер.
pybind11
pandas
numpy
pyarrow
pytest
pytest-cov
mock
six
turbodbc
Так как на моей ма c результат одинаков, и в dockerised env я либо дважды допустил одну и ту же ошибку при настройке или Turbodb c просто не работает так, как я думаю. У кого-нибудь есть предложения?
Спасибо