H6.*_*H6. 2 mysql database performance solr solrj
目前我有一个完全基于Solr的系统.这意味着,我将所有数据存储在Solr中(使用SolrJ),而不涉及其他数据存储.问题是,我遇到了一些性能问题.我想,可能有意义的是存储在MySQL中,然后将数据与Solr同步,例如DataImportHandler.因此,我对Solr索引和MySQL中的主要写入操作进行了读取操作,有时在与Solr同步时只进行Solr-Writing操作.
问题是,我希望存储数亿个文档,如果MySQL/Solr有意义的话,我现在还不知道.
还有其他更好的解决方案吗 也许Master-Solr写作和Solr-Slaves阅读?
更新:我忘了说的是,在schema.xml更改的情况下,"在MySQL中存储数据"解决方案在我看来可能很有用,因为那时我可以重新提交所有数据而不关心Solr的自我存储的数据.
由于写入期间Solr上的活动(使用提交和优化)会严重影响读取操作,因此不宜在读取和写入时使用相同的Solr实例.
Master - Slave配置将是更好的方法,主要用于写入和从属为只读目的.
奴隶定期刷新Master的内容.(因此会有一些延迟)
您可以随时通过添加多个从站进行缩放.
使用MySQL作为Master-Slave Solr的持久存储将是一种最好的方法.
MySQL提供稳定的数据存储,可以防止索引损坏或一些导致数据丢失的问题.
使用dataimport处理程序,您可以使用增量更新轻松完成,但是有更多时间标记可以在从属服务器上显示最新数据.
使用此功能,您还可以使用索引交换进行完全刷新.
如果索引长大,可以维护并且对性能有影响,您可能需要检查solr分片.