Это выглядит очень страшно... Слово знакомое, но я никогда таким не пользовался сам, но я так понимаю это потому что сервер выглядит как "железо" удаленное или не очень и потому нужен драйвер?
MS SQL Server.
А он есть в рамках бесплатных? Я помню DB2 от IBM был бесплатным, но от Microsot такого не припоминаю. А в Visual Studio Community и готового только лишь ... Связка с какой либо потенциальной БД, либо хранилищем данных как служба к примеру ... То есть нету вообщеничего.
Тут еще в таком контексте, что это малый HOME кодинг, потребности ни в чем огромном, корпоративном нету. Так что как факт остается актуальным, да и пользователь для программы всегда один, не сетевое решение в целом. Просто данных много стало и ворочать их в файле / памяти совсем уж не выходит. В ручную подвиги реализации индексов, сортировок и того что может SQL выглядят не самым лучши делом лет на 10 ближайшие :)
Смотрится по названию очень заманчиво, тут правда тот случай когда табличка временная, мне она нужна на раз. Но из привычки пользоваться ими в нормально виде я сразу вижу как быть с SQL и не вижу альтернативы. Сдается мне это придумали для таких как я ....
Спасибо, все почти получилось =) Правда я после php в шоке от того, сколько типов данных сюда упаковали и как раз то о чем пишет Griboks вдруг стало важным ... Благо тут всего по 5-12 временных записей небольших отрезков времени, по теме события и они маленькие. Но глядя на все это понимаешь что еще немало придется изучить ...
В целом она сортируется, через add я добавляю новые и судя по всему все в порядке. Однако GMT пока храню как число, но уже подозреваю, что и этому можно что то подобрать т.е. способ хранения явно соответствующий типу данных. Т.к. я тут забыл чуть, что они из разных часовых поясов и это нужно сохранить, чтобы не забыть потом кто откуда ... Но в целом все отлично заработало, я даже разобрался за минут 15 с примерами =)
sim3x, Кстати, вспомнил я чудную штуку... Вот тут тема, но если коротко, при словаре в 400Мб и текстах на еще 1ГБ при необходимости их на 100% прогнать на соответствие словарю, да еще и количество вхождений посчитать. Я в итоге получил просто реактивную скорость, такое фоном можно было запускать и получать на выходе тонны текста просто обработанного.
Хорошо вспомнил, я так думаю можно постараться и файлы эти в 600Мб будут просто пачками "отлетать" готовые. Так что судя по всему не все так плохо без SQL и индексов, хотя с ними без проблем все и "само там делается", но все таки выход есть всегда :)
sim3x, Что про CSV оно уже как бы в нем, но требуется чуть дополнить ... Ну и разметка меня заманила. Оказалось, что размеченные данные просто сказка, когда бы все разложил по атрибутам и выделил в отдельный тег. Он еще и неплох для восприятия за счет именно разметки как таковой. Ну и да Xpath которого я для CSV не видел, как и моя любовь к регулярным выражениям наверное с детства...
Ну что на счет памяти, то это вроде довольно терпимо. Ну то есть 100к получается 5Мб примерно, максимум 6Мб. В итоге выйдет не более чем 600 Мб, но это довольно терпимо.
А на счет реализации я так понял, что сам C# может быть обделен просто? Ну в целом то функционал в духе Select * FROM my_file WHERE date > XXX AND date < XXX AND value = XXX ... Я просто боюсь как оно вообще без индексов работать будет.
Ну и да, есть еще один ньюанс, их нужно писать дополнительно, проверяя на дубли. То есть по времени/дате/значению будет как бы индекс (на манер SQL) уникальный. Тут я не особо в курсе, если там что то про запись, но нужно не писать дубли соответственно. В SQL это были бы индексы скорее всего уникальные и обработка исключения. А тут я не знаю пока что делать ... Если только запрос слать, проверяя каждый раз на наличие.
Правда боюсь, что при каких то значениях, все это начнет тормозить жутко, т.к. проверять придется много, а индексов тут как таковых нет (если только он в памяти их не сделает себе). Это чуть под сомнение ставит для меня всю это. Но XPath и правда очень просто и удобный, мне очень нравится. Да и вообще сам xml как разметка, вместо таблиц прямо сказка... Захотел атрибут, добавил просто так и никаких колонок. Вообще могут быть просто из общей массы уникальные в своем роде значения. Этим он очень привлекает, т.к. есть опасения, что кое что в малом количестве придется из массы выделить и дополнить чем то еще ...
А делаю я пока через:
using System.Xml;
XmlDocument IndexXML = new XmlDocument();
Честно не знаю, что это видимо системная библиотека из самых дремучих ... Уж надеюсь в ней все сделано как надо и максимально хорошо. Ну и это в Visual Studio Community 2019 происходит, C# в частности под Windows десктоп.
Андрей Dobrin, Блог - это авторство текстов, а вы говорите про авторство программного обеспечения. Это разные вещи, вам скорее на https://github.com/ надо, делиться написанным. Или в реестр плагинов для WP выкладывать готовое, чем вообще заводить свой блог ради пары статей.
Во-певрых, на всех серверах можно прописать синхронизацию с одним и тем же NTP-сервером.
Это судя по всему то что нужно, одна проблема в том, что хотелось бы из php. Принцип расскажу, скорее так будет яснее:
1. У нас по одному времени должен быть обмен информацией, который актуален минут 5-10. То есть за это время нужно мне получить, посчитать, проверить вручную что все в порядке, отправить. Но именно тут и проблема, у меня вчера NTP сервер которым пользуется Windows 10 вдруг соврал на 15 минут (может интернет, может что зависло) и я глядя в скрипт видел свое время (то есть через функцию time(), локальное) и думал что все хорошо...
Но обманулся, оказалось я все пропустил, а когда настало уже будущее время, сделал все поздно =( Теперь время в скрипте нужно перепроверять, а это жутко трудоемко получается, как будто по чужим часам живешь... Вот такая вот проблема на самом деле.
Не всегда актуально, просто потому что это не всегда возможно. Поэтому хочется минуя всякое разное использоваться один сервер отсчитывающий время ... От того самого 1970 года
из неожиданного места пришло решение, но я так и не понял, как получить от него ошибки по нормальному... в exec он все равно не отдает мне все что выдала консоль даже и близко =(
Это выглядит очень страшно... Слово знакомое, но я никогда таким не пользовался сам, но я так понимаю это потому что сервер выглядит как "железо" удаленное или не очень и потому нужен драйвер?
А он есть в рамках бесплатных? Я помню DB2 от IBM был бесплатным, но от Microsot такого не припоминаю. А в Visual Studio Community и готового только лишь ... Связка с какой либо потенциальной БД, либо хранилищем данных как служба к примеру ... То есть нету вообщеничего.
Тут еще в таком контексте, что это малый HOME кодинг, потребности ни в чем огромном, корпоративном нету. Так что как факт остается актуальным, да и пользователь для программы всегда один, не сетевое решение в целом. Просто данных много стало и ворочать их в файле / памяти совсем уж не выходит. В ручную подвиги реализации индексов, сортировок и того что может SQL выглядят не самым лучши делом лет на 10 ближайшие :)