У меня есть набор файлов, ~ 300 файлов каждый с 50000 строк. Каждая строка представляет собой строковый тег с двоичным значением (1 или 0). Все файлы имеют одинаковые записи, но разные двоичные значения. Пример файла ниже.
Tag1 0
Tag2 1
...
Tag50000 0
Я намереваюсь создать веб-инструмент Python Flask с несколькими функциями, которые будут сравнивать два «файла» или находить каждый «файл» с тем, где конкретный тег равен 1. Другой вариант - искать все файлы в каталоге для сравнения. Я считаю, что использование некоторой базы данных SQL было бы невероятно мощным для запросов, однако у меня есть несколько вопросов. Вот как я представляю, что база данных будет структурирована, но я могу ошибаться.
Filename1 Tag1-value Tag2-value ... Tag50000-value
Filename2 Tag1-value Tag2-value ... Tag50000-value
...
Filename300 Tag1-value Tag2-value ... Tag50000-value
У меня есть некоторый опыт работы с SQLAlchemy для Flask, но после моего предыдущего использования каждому значению базы данных потребовалось бы отдельное объявление в файле моделей моего приложения, которое кажется очень неэффективным для 50 000 характеристик. Можно ли ввести все эти данные в другую базу данных SQL и по-прежнему обращаться к ней в колбе?
Вот как я полагаю, что модель должна быть настроена, и при необходимости я бы выписал все 50 000 тегов, но я должен верить, что есть более простой способ сделать это.
class Dataset(db.Model):
id = db.Column(db.Integer, primary_key=True)
filename = db.Column(db.String(64), index=True, unique=True)
tag1 = db.Column(db.Boolean) # or tag1 = db.Column(db.Integer)
tag2 = db.Column(db.Boolean) # or tag2 = db.Column(db.Integer)
# ...
tag50000 = db.Column(db.Boolean) # or tag50000 = db.Column(db.Integer)