LINUX.ORG.RU

Сообщения dennis_pro

 

Посоветуйте СУБД

Для веба под хорошие нагрузки. Было бы здорово, если б с поддержкой шардинга/репликации. Можно NoSQL. Которая умеет быстро делать операции регистронезависимый поиск по подстроке, т.е. с быстрой реализацией аналога SQL выражения LIKE '%something%'. Если будет возможность «нечеткого» поиска (по релевантности), то вообще классно. Кроме поиска СУБД естественно должна поддерживать и другие присущие базам данных функции, такие как добавление, редактирование и выборку с фильтрацией данных :)

Пробовал CouchDB, строя индекс по Map-функции:

function(doc) {
  var i;
  if (doc.title) {
    for (i = 0; i < doc.title.length; i++) {
      emit(doc.title.slice(i), doc);
    }
  }
}

Работает, но индексация очень долгая и БД получается очень огромная. В принципе, расстраивает меня даже не это, а то что на каждый чих приходится писать эти Map-Reduce функции, от которых мозг закипает - сложно делается даже простейший SQL-аналог join.

Посмотрел на MongoDB. Язык запросов понравился, многие вещи делаются проще. Но сходу не нашёл, как там делать поиск по подстроке.

SQL-СУБД индексы на LIKE '%something%' не используют, что приводит тормозам на большой базе.

К чему ещё можно присмотреться?

dennis_pro
()

cups не стартует при загрузке системы

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 9.10
Release:	9.10
Codename:	karmic
$ sudo update-rc.d -f cups enable defaults
update-rc.d: warning: cups start runlevel arguments (none) do not match LSB Default-Start values (2 3 4 5)
update-rc.d: warning: cups stop runlevel arguments (none) do not match LSB Default-Stop values (1)
 Enabling system startup links for /etc/init.d/cups ...
 Removing any system startup links for /etc/init.d/cups ...
   /etc/rc1.d/K02cups
   /etc/rc3.d/S03cups
   /etc/rc4.d/S03cups
   /etc/rc5.d/S03cups
 Adding system startup for /etc/init.d/cups ...
   /etc/rc1.d/K02cups -> ../init.d/cups
   /etc/rc3.d/S03cups -> ../init.d/cups
   /etc/rc4.d/S03cups -> ../init.d/cups
   /etc/rc5.d/S03cups -> ../init.d/cups
$ grep ^# /etc/init.d/cups 
#! /bin/sh
### BEGIN INIT INFO
# Provides:          cups
# Required-Start:    $syslog
# Required-Stop:     $syslog
# Should-Start:      $network avahi
# Should-Stop:       $network
# X-Start-Before:    samba
# X-Stop-After:      samba
# Default-Start:     2 3 4 5
# Default-Stop:      1
# Short-Description: CUPS Printing spooler and server
### END INIT INFO
# Get the timezone set.
$ runlevel
N 2

Я, конечно могу руками симлинк сделать, но странно почему и как исправить по-православному?

dennis_pro
()

RSS подписка на новые темы