Я все еще новичок в решении SQL, и я только начинаю изучать nosql с нескольких месяцев назад.Медленно при запросе cassandra с искривлением apache в Java.
У меня есть проект, и он был создан весенней платформой загрузки и имеет слой DAO. Моя база данных была cassandra, и я использую драйвер datastax java cassandra для общения. Я нашел cassandra или, возможно, все решения nosql key/value не поддерживают чувствительность к регистру и запросы с примерами использования «как%». После проведения некоторых исследований через stackoverflow и других форумов, выясните, что им нужно использовать некоторые инструменты, такие как apache spark, эластичный поиск или apache lucene, чтобы выкапывать данные в cassandra. Так что я выбрал искру apache, и я не уверен, должен ли код быть выполнен таким образом (с точки зрения лучшей практики).
Вот мой код для запроса данных:
@Override
public Login getLoginByEmail(String shopId, String email) throws InterruptedException, ExecutionException {
JavaFutureAction<List<Login>> loginRDDFuture = javaFunctions(getSparkContext())
.cassandraTable("shop_abc", "app_login", loginRowReader)
.filter(new Function<Login, Boolean>() {
private static final long serialVersionUID = 1L;
@Override
public Boolean call(Login login) throws Exception {
return login.getEmail().equalsIgnoreCase(email.trim());
}
}).collectAsync();
List<Login> lgnList = loginRDDFuture.get();
if(lgnList.size() > 0){
return lgnList.get(0);
}
return null;
}
меня ушло 9 секунд, чтобы получить результат и базу данных только с таблицей и 3 записей. Я бы подумал, что произойдет, если в базе данных будет более миллиона записей.
Я не уверен, является ли это хорошей практикой или у нее есть лучший способ или лучшие инструменты для этого, я надеюсь, что кто-то может дать мне руководство.
Цените.
Просто загляните в SASI несколько минут назад. Похоже, моя проблема может быть решена этим предложением. Я буду реализовывать это, поскольку он был частью кассандры, и мне не нужно вводить так много сторонней библиотеки. Я искал через google и почти прочитал все предложения, но не их представил. Спасибо @ Энди Толберт – A1ucard