Pull to refresh
47
0
Александр @s0rr0w

Oarsman

Send message
Центробанку не нужно гарантировать стоимость валюты, ему нужно гарантировать процесс возникновения этой стоимости. Например, не нужно обещать фермеру, что пшеница вырастет, она вырастет и без его непосредственного участия, однако фермер должен пообещать, что он приложит все усилия, чтобы этот факт свершился. Так и с центробанком. Он регулирует денежную массу и гарантирует, что именно эти фантики на этой территории будут являться мерилом стоимости.
Центробанки (государство) гарантируют на законодательном уровне наличие стоимости фантиков, которые ходят внутри государства. Этого достаточно, чтобы иметь доверие к валюте.

Если государство «А» покупало товары за валюту государства «B», то государство «B» будет обязано принять его же валюту к оплате за какие-то товары. Если с валютой что-то случится, то государство «B» будет обязано вернуть какие-то материальные ценности в обмен на обесценившиеся деньги.

Обеспечение — это не только конвертация в золото, это еще и конвертация в товары. В товары того государства, на территории которого ходит данная валюта. Плюс арбитраж со стороны государств.

А где находится центробанк биткоина и какие государства дали гарантии его обеспечения?
Для спекуляций нужны или деньги, или халявный способ получить первую партию «товара».

Первого у меня, к сожалению, нет. Время для второго ушло.
Для меня биткоин не валюта, хотя и обладает некоторой ценностью в данный момент времени…
А вот как средство для биржевых спекуляций — самое оно. Когда я узнал про биткоины, уже тогда скорость майнинга была невысокой, что не давало способа накопить более тысячи коинов.

Производить оплату в колебающейся валюте — надо быть или подлецом, или дураком. Для первого у меня нет лишних монеток…
Рост его стоимости говорит об обратном. Отсутствие обеспечения также делает его сильно зависящим от мнения. Не важно как вы печатаете деньги, важно какую ценность в них вкладывают люди.
Перевод экономики из реального сектора в IT разрушит все потуги посчитать экономический рост. Интеграция в мировую экономику делает расчеты еще запутаннее.
Лично я слишком поздно узнал о биткоине, теперь играть на этом рынке совершенно бесполезное занятие.
В том числе. Но эти танки и бомбардировщики построены нашим с вами трудом. Мы их построили, как только начали принимать доллар как мерило стоимости.
Посмотрите передачку.

Там есть доля лжи, но и доля правды весьма высока. Просмотрите, многие из ваших вопросов отпадут сами собой.

Именно для защиты от такой жизни отдельной страны в долг у всего мира нужно математически ограничить эмиссию. А ещё лучше использовать для мировой экономики валюту, не имеющую привязки к какой-то стране. Вы уже догадались, на какую валюту я намекаю? Стала бы такая схема работать? Не стал бы bitcoin такой же «гирей» для экономики, как раньше золото? (Кстати, можно как-то формализовать, что значит эта гиря?)


Ограничение эмиссии — смерть для экономики. Дефляция приводит к стагнации. Вот смотрите, вы производите 100 буханок хлеба, и его покупает 100 человек в день. Каждый из этих 100 человек что-то производят из того, что покупаете вы. А теперь представьте, что кто-то начал изымать деньги из оборота. Товаров осталось столько-же, а вот денег стало меньше. Завтра у вас купили уже не 100 человек, а 90. Получается, что смысла вам производить послезавтра снова же 100 буханок нет. Можно снизить цену, скажете вы. Но тогда вы не сможете покупать товары других людей, если они вдруг не захотят снижать свои цены. Т.е. дефляция всегда действует демотивирующе на экономику.

Давайте вернемся снова к моему постулату, что в биткоин заложен дифицит стоимости. Это значит, что через время его стоимость будет только увеличиваться и каждый из игроков будет стараться прижать у себя биткоины, потому что их стоимость только растет. Что делать оставшимся игрокам рынка? А ничего. При таком раскладе деньги перестают выполнять свою основную фукнцию и обесцениваются.
Никакой рекурсии нет. Стоимость современных денег виртуальна по сути. Мы уже не живем в мире отдельных экономик, а в полный рост интегрированы в так называемую мировую экономику. Раньше валюты имели привязку к золоту. Сегодня эта привязка была бы гирей на ногах у бизнеса.

Какая стоимость у любой программы? Если бы вы 100 лет назад рассказали, что вам будут платить деньги за векторы намагниченности покрытия отдельных участков металлический пластин, а также за создание последовательностей из различных уровней силы электрического тока, то вам бы рассмеялись в лицо как минимум. Но сегодня это такой же товар, как и хлеб. Программист создает товар, который в большинстве случаев даже пощупать не удается. Так откуда берется его стоимость? А стоимость его берется из смежных областей, в том числе тех, которые производят реальные товары. Стоимость денег в современном мире — это всего лишь ощущение ценности. Это простой способ конвертировать одну ценность в другую. Это в том числе и способ сконвертировать программу в хлеб.

С долларом такая же ситуация. Он имеет разную стоимость внутри США и за ее пределами. Потому что он имеет разную ценность, о которой договорились люди между собой. Экономикам других стран нужно «коммуницировать» между собой. И наиболее подходящий вариант — использовать валюту-посредника. В момент «желания» конвертации возникает стоимость доллара как валюты. Если бы этого «желания» не было, доллар бы стоил… да не стоил бы вообще ничего. Самое смешное, что никто не будет у Штатов требовать погашения долга. Потому что на момент этого требования он резко конвертируется в фантики. Его стоимость высока, пока он подкреплен «желаниями» разный стран.

Я понимаю, что многие из моих рассуждений выглядит как полный бред с программистской точки зрения, но это экономика, там работают другие правила. Спасибо за конструктивные минусы.
Валютами других стран
Биткоин — чистейший пузырь. Никто никогда не сможет его обеспечить ничем. Т.е. обладание биткоином сродни обладания литром воздуха.

Доказательство работы — это тончайший маркетинговый троллинг. Ваши более менее реальные деньги (обеспечены центробанками), конвертируются по странному курсу в виртуальную ценность. Так как в систему заложена дефляция, автоматически был заложен и рост дефицита ценности, т.е. рост его курса. Именно рост дефицита ценности и стимулирует всяких игроков к спекуляциям на этом рынке. Если есть спекуляции, к ним быстро подключатся более маститые игроки, разгоняя курс до безумных величин, только потому что они играют на дельте, а не на абсолютных величинах. Им пофиг сколько конкретно стоит данная валюта, но не пофиг скорость изменения ее курса.

Любая невозвратная потеря любого кошелька будет почти всегда приводить к росту стоимости биткоина. Через время народ наиграется, бедные станут еще беднее, а богатые еще богаче, и начнется массовый слив и девальвация. Еще одна эмиссия может привести к весьма странным результатам: шансы как роста стоимости, так и его падения зависят от воли случая.
В данном запросе не нужен второй for
let $VasiaIDs := doc('company')/Persons/Person[@name='Vasya']/@id 
(: Выбираем айдишки и заносим их в последовательность (sequence) :)
for $d in doc('company')/Departments/Department[Stuff/personRef/text()=$VasiaIDs] 
(: Перебираем департаменты, у которых в ссылках на персоны, есть хоть один элемент из множества $VasiaIDs :)
return <department>$d/@name</department> 
(: Возвращаем нужный департамент :)

XPath тем и хорош, что умеет перемножать множества, заменяя JOIN'ы. Мало того, XPath может использовать индексы в BaseX, в отличие от for, поэтому мой запрос работает гораздо быстрее.
Жуткий? После года использования он уже кажется каноничным и логичным. Через определенное время начинаешь замечать, что в других языках пытаешься использовать XQuery синтаксис.
:)
По поводу конкурентов. eXist несколько не конкурент, потому что в него мы не смогли загрузить XML документ на 600MB, а Sedna давно уже не обновляется.

BaseX за год сменил четыре версии 7.3 -> 7.5 -> 7.6 -> 7.7, сейчас в работе 7.8, и его можно смело признать самым динамично развивающейся XMLDB
У BaseX для каждого запроса можно посмотреть план выполнения

Например, для запроса
for $i in doc('koatuu')//ITEM[CODE_PARTS/L1/text()='80'] return <ITEM>{$i/NAME/text()}</ITEM>

BaseX предлагает оптимизацию
for $i in db:text("koatuu", "80")/parent::*:L1/parent::*:CODE_PARTS/parent::*:ITEM return element ITEM { ($i/NAME/text()) }

и показывает план запроса
<QueryPlan>
  <GFLWOR>
    <For>
      <Var name="$i" id="0"/>
      <CachedPath>
        <ValueAccess data="koatuu" type="TEXT">
          <Str value="80" type="xs:string"/>
        </ValueAccess>
        <IterStep axis="parent" test="*:L1"/>
        <IterStep axis="parent" test="*:CODE_PARTS"/>
        <IterStep axis="parent" test="*:ITEM"/>
      </CachedPath>
    </For>
    <CElem>
      <QNm value="ITEM" type="xs:QName"/>
      <CachedPath>
        <VarRef>
          <Var name="$i" id="0"/>
        </VarRef>
        <IterStep axis="child" test="NAME"/>
        <IterStep axis="child" test="text()"/>
      </CachedPath>
    </CElem>
  </GFLWOR>
</QueryPlan>


Я не сильно ковырялся в исходниках, поэтому не могу сказать, оптимизирует ли он запросы перед тем, как выполнять, но, скорее всего, нет.

Например, предыдущий запрос выполняется около 900 мс (с учетом сетевого трафика), а переписанный с учетом рекомендаций на
for $i in doc('koatuu')//L1[text()='80'] return <ITEM>{$i/../../NAME/text()}</ITEM>

выполняется уже за 30мс.

И план уже несколько другой
<QueryPlan>
  <GFLWOR>
    <For>
      <Var name="$i" id="0"/>
      <CachedPath>
        <ValueAccess data="koatuu" type="TEXT">
          <Str value="80" type="xs:string"/>
        </ValueAccess>
        <IterStep axis="parent" test="*:L1"/>
      </CachedPath>
    </For>
    <CElem>
      <QNm value="ITEM" type="xs:QName"/>
      <CachedPath>
        <VarRef>
          <Var name="$i" id="0"/>
        </VarRef>
        <IterStep axis="parent" test="node()"/>
        <IterStep axis="parent" test="node()"/>
        <IterStep axis="child" test="NAME"/>
        <IterStep axis="child" test="text()"/>
      </CachedPath>
    </CElem>
  </GFLWOR>
</QueryPlan>
Там два типа блокировок, и чтения, и записи. Но страшнее всего блокировка на запись, особенно когда она блокирует много баз одновременно.

CRM для микрофинансирования. Отказались от BaseX больше по политическим мотивам. Как уже сказал Tricesimus, если вдумчиво почитать документацию, разнести последовательно записываемые операции в разные базы на разные инстансы, то оно спокойно бы взлетело.
Да, этого нет. Система довольно молодая. Шардинг можно огранизовать средствами XQuery.

Оракл не дает выполнять чистый XQuery, все равно требует PL/SQL обвязку, да и updating спецификацию не поддерживает.
Бенчмарки весьма специфичны, и их не с чем сравнивать. Я попробую подготовить хоть какую-то вменяемую статистику.

Навскидку, если сравнивать с Oracle XML Database и их реализацию XQuery, то на документах в 600 мегабайт BaseX при полном индексировании выбирает по XPath нужный элемент за 5 милисекунд, Oracle меньше чем 150мс не удалось соптимизировать. Не исключено, что у нас были весьма кривые руки, и мы не смогли добиться нужной производительности. Брали несколько вариантов, самым быстрым, если не ошибаюсь, оказался вариант с полностью загруженным в одну ячейку документом :) Если брать честный XML Storage, то аналогичная операция менее секунды не длилась.

На документах в 1.5 млн записей, с построенными индексами, выборка по двум параметрам около 500 мс. Там индекс слабо работает, почти уникальные данные.

Для теста можете потыцкать живую демку. Особенно запросы к базе dblp, там 500 мегабайтный документ

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity