如何为可伸缩性创建数据库?我在http://www.slideshare.net/vishnu/livejournals-backend-a-history-of-scaling的中间,我无法读取ATM并需要离开.但我想了解更多有关创建可扩展的数据库的信息.它提到并在我脑海中出现的某些事情是
等等
rdbms database-design scalability load-balancing cluster-computing
我有一个使用InnoDB表类型和外键的模式.我打算使用mysql Cluster,我只想确保我可以使用"InnoDB"表类型,外键约束仍然有效.
更新:
根据文件:
可以在与MySQL群集一起使用的MySQL服务器上使用其他存储引擎(例如MyISAM或InnoDB)创建表,但这些非NDB表不参与群集; 每个这样的表都是创建它的单个MySQL服务器实例的本地表.
这是否意味着如果我创建一个InnoDB表,我可以有外键约束?我理解这些表不会参与群集.
我正在开发一个Web应用程序,它将在很大程度上依赖于它能够根据具有类似偏好的用户对项目提出建议.我的一个朋友告诉我,我正在寻找的 - 数学上 - 是一些聚类分析算法.另一方面,在SO上,我被告知Neo4j(或其他一些图形数据库)是我应该为此任务寻求的那种数据库(首选项).
我开始研究这两种工具,我有些疑惑.出于聚类分析的目的,我认为标准SQL DB仍然是完美的选择,而Neo4j更适合神经网络的方法(虽然仍然完全适合任务).
我错过了什么吗?我是否尝试使用错误的工具组合?
我很想听听有关这个问题的一些想法.
感谢分享
我必须在具有不同配置的集群上运行openmp程序(例如不同数量的节点).但我遇到的问题是,每当我尝试用2个节点运行程序时,那么同一块程序运行2次而不是并行运行.
我的节目 -
gettimeofday(&t0, NULL);
for (k=0; k<size; k++) {
#pragma omp parallel for shared(A)
for (i=k+1; i<size; i++) {
//parallel code
}
#pragma omp barrier
for (i=k+1; i<size; i++) {
#pragma omp parallel for
//parallel code
}
}
gettimeofday(&t1, NULL);
printf("Did %u calls in %.2g seconds\n", i, t1.tv_sec - t0.tv_sec + 1E-6 * (t1.tv_usec - t0.tv_usec));
Run Code Online (Sandbox Code Playgroud)
这是一个LU分解程序.当我在2节点上运行时,我得到这样的输出 -
在5.2秒内完成
1000次呼叫在5.3秒内完成1000次
呼叫在41秒内完成
2000次呼叫在41秒内完成2000次呼叫
如您所见,每个程序对每个值运行两次(1000,2000,3000 ...)而不是并行运行.这是我的家庭作业计划,但我现在陷入困境.
我正在使用SLURM脚本在我的大学计算集群上运行该程序.这是教授提供的标准脚本.
#!/bin/sh
##SBATCH --partition=general-compute
#SBATCH --time=60:00:00
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=2
##SBATCH --mem=24000
# Memory per …Run Code Online (Sandbox Code Playgroud) 下面这个脚本很好地运行,以获得具有庞大数据集的集群,但我需要将集群转换为newick文件或文本文件,以便我可以将它从R导出到其他编辑程序,但我找不到办法将hclust变成newick格式,我该怎么做?我觉得new2phylo函数可以完成这项工作,但我们没有设法让它工作.
我非常感谢你的帮助,因为我们到处搜索并找不到解决方案=(
datos <- read.table("morphclustersred.csv",header=T,sep="\t")
head(datos)
distfunc <- function(x) daisy(x,metric="gower")
d <- distfunc(datos)
hclustfunc <- function(x) hclust(x, method="complete")
fit <- hclustfunc(d)
plot(fit)
plot(fit, labels=datos$Species,main='Morphological Clustering')
rect.hclust(fit, k=5, border="red")
Run Code Online (Sandbox Code Playgroud) 我是ceph的新手但是必须建立一个小型集群作为项目的一部分,我一直在关注如何构建一个的在线教程,所有这些都很好,直到第二天我重新启动我的机器.现在当我执行命令ceph health它返回一个错误说:2015-01-08 15:35:04.037375 7fae717fa700 0 - :/ 1003525 >> 192.168.1.12:6789/0 pipe(0x7fae6c000c00 sd = 3:0 s = 1 pgs = 0 cs = 0 l = 1 c = 0x7fae6c000e90).fault.
每当我在192.168.1.12机器上运行相同的命令时,它返回一个错误说:monclient(hunting):错误:缺少密钥环,不能使用cephx进行身份验证.0 librados:client.admin初始化错误(2)没有这样的文件或目录.连接到群集时出错:ObjectNotFound.
我已经在互联网上搜索了一段时间以获得任何答案而且找不到太多,我注意到这个网站往往很好地回答大多数(如果不是全部)问题,所以任何帮助将非常感谢谢谢.我在所有机器上使用centos 7,如果有任何帮助的话.
我正在尝试Singleton在Wildfly 8.2上创建一个简单的集群.我已经配置了2个Wildfly实例,在独立的集群配置中运行.我的应用程序已部署到两者,我可以毫无问题地访问它.
我的集群EJB看起来像这样:
@Named
@Clustered
@Singleton
public class PeekPokeEJB implements PeekPoke {
/**
* Logger for this class
*/
private static final Logger logger = Logger
.getLogger(PeekPokeEJB.class);
private static final long serialVersionUID = 2332663907180293111L;
private int value = -1;
@Override
public void poke() {
if (logger.isDebugEnabled()) {
logger.debug("poke() - start"); //$NON-NLS-1$
}
Random rand = new SecureRandom();
int newValue = rand.nextInt();
if (logger.isDebugEnabled()) {
logger.debug("poke() - int newValue=" + newValue); //$NON-NLS-1$
}
this.value = newValue;
if (logger.isDebugEnabled()) { …Run Code Online (Sandbox Code Playgroud) 这是我使用的pbs的一个例子:
#!/bin/bash
#PBS -S /bin/bash
#PBS -N myJob
#PBS -l nodes=1:ppn=4
#PBS -l walltime=50:00:00
#PBS -q route
export MYMAIL=mytestmail@testmail.com
#PBS -m ae
#PBS -M mytestmail@testmail.com
./script1.sh
echo $PBS_JOBID $PBS_O_WORKDIR | mail -s "$PBS_JOBNAME script1 done" $MYMAIL
./script2.sh
echo $PBS_JOBID $PBS_O_WORKDIR | mail -s "$PBS_JOBNAME script2 done" $MYMAIL
./script3.sh
echo $PBS_JOBID $PBS_O_WORKDIR | mail -s "$PBS_JOBNAME script3 done" $MYMAIL
./script4.sh
Run Code Online (Sandbox Code Playgroud)
如您所见,我希望在此过程中收到通知.我的问题是用户必须写两次他们的电子邮件地址.
我试过了:
#PBS -M $MYMAIL
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我还试图找到一个包含存储期间的电子邮件的pbs变量
#PBS -M mytestmail@testmail.com
Run Code Online (Sandbox Code Playgroud)
但没什么......
一个主意 ?
以下是我的spark master UI,它显示了1个注册工作人员.我正在尝试使用以下提交脚本在集群上运行sparkPi应用程序
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://159.8.201.251:7077 \
/opt/Spark/spark-1.2.1-bin-cdh4/lib/spark-examples-1.2.1-hadoop2.0.0-mr1-cdh4.2.0.jar \
1
Run Code Online (Sandbox Code Playgroud)
但它不断发出以下警告,并且永远不会执行:
WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory
Run Code Online (Sandbox Code Playgroud)
我使用./sbin/start-master.sh
连接worker来启动master./bin/spark-class org.apache.spark.deploy.worker.Worker spark://x.x.x.x:7077
15/05/01 01:16:48 INFO AppClient$ClientActor: Executor added: app-20150501005353-0000/40 on worker-20150501004757-spark-worker30-04-2015-23-11-51-1.abc.com-48624 (spark-worker30-04-2015-23-11-51-1.abc.com:48624) with 1 cores
15/05/01 01:16:48 INFO SparkDeploySchedulerBackend: Granted executor ID app-20150501005353-0000/40 on hostPort spark-worker30-04-2015-23-11-51-1.abc.com:48624 with 1 cores, 512.0 MB RAM
15/05/01 01:16:48 INFO AppClient$ClientActor: Executor …Run Code Online (Sandbox Code Playgroud) 我正在开发一个群集程序,并且有一个双精度数据集,我需要对其进行规范化以确保每个双精度(变量)都具有相同的影响力。
我想使用min-max规范化,其中确定每个变量的min和max值,但是我不确定如何在Java数据集中实现此功能。有没有人有什么建议?